FSelecter パッケージの OneR アルゴリズムを使用して、エラー率が最も低い属性を見つけました。私のクラスの属性は「はい」と「いいえ」です。属性の私の特徴もイエスとノーです。
OneR アルゴリズムの結果は次のとおりです。
Ranking-No. 1
Atribut-Name: OR1:
Matrix: ------ 0(Attribut-Characteristic) -- 1 (Attribut Characteristics
0(Class):-------------------25243-------------------0
1(Class: -------------------1459-------------------18
Error-Rate: 1459 (0 + 1459)
Ranking-No. 2
Atribut-Name: OR2:
Matrix: ------ 0(Attribut-Characteristic) -- 1 (Attribut Characteristics
0(Class):-------------------25243-------------------0
1(Class: -------------------1460-------------------17
Error-Rate: 1460 (0 + 1460)
ただし、同じデータ フレームで相関関数を使用すると、最良の属性は属性よりもエラー率が低くなり、oneR 関数で得られます。
Atribut-Name: CO4:
Matrix: ------ 0(Attribut-Characteristic) -- 1 (Attribut Characteristics
0(Class):-------------------25204-------------------39
1(Class: -------------------1348-------------------129
Error-Rate: 1387 (39 + 1348)
OneR アルゴリズムが CO4 属性を (エラー率に基づいて) 最良の属性として表示しない理由を教えてください。
OneR アルゴリズムはどの基準を使用しますか?
--- 私の質問をよりよく理解するための追加 ---
完全なデータは大きすぎて表示できません。同じ効果を持つ新しいデータプールを構築しました
遅延 - OR1 - CO4 ..
1 ----------1--------1--
0 -------0--------0--
0 ----------0--------1--
1 ----------0--------1--
0 -------0--------0--
1 ----------0--------1--
0 -------0--------0--
1 ----------0--------1--
単一の属性のエラー率を表示するためのコード:
print(table(datapool_stackoverflow$DELAYED, datapool_stackoverflow$OR1))
OneR 関数のコード:
ライブラリ(FSelector)
oneR_stackoverflow <- oneR(DELAYED~., datapool_stackoverflow)
subset_stackoverflow <- cutoff.k(oneR_stackoverflow, 2)
印刷 (subset_stackoverflow)
相関のコード:
cor(as.numeric(datapool_stackoverflow$DELAYED), as.numeric(datapool_stackoverflow$OR1))
この場合、結果は次のようになります。
エラー率: OR1 マトリックス: ------ 0 (属性特性) -- 1 (属性特性)
0(クラス):---------------------4----------------------- --0
1(クラス: ----------------------3------------------------ -1
マヌエルが計算したエラー率: 3(0 + 3)
エラー率: CO4 マトリックス: ------ 0 (属性特性) -- 1 (属性特性)
0(クラス):-------------------------------------3--------------------- --1
1(クラス: -----------------------0---------------------- -4
エラー率: 1(1 + 0)
相関: 属性 OR1: 0.377 属性 CO4: 0.77
OneR: 「OR1」、「CO4」
なぜ、OneR 関数は分類するのに最適な属性として OR1 属性を提供するのですか?