2012-10-09 11 views
5

Potrzebuję twojej pomocy odnośnie ciężarów w Weka. Przeprowadzam eksperymenty na dużą skalę danych: Tłumaczę dane na instancje i używam różnych klasyfikatorów do badania. Teraz chcę sprawdzić, w jaki sposób uprawniające wagi instancji wpływają na naukę - czasami chcę uprawnić instancję z wagą, a czasami nie. Moje pytanie brzmi:Jak używać odważników w Weka

  1. Jaki jest zakres możliwych wag?
  2. Czy efekt wagi różni się od klasyfikatora do klasyfikatora?
  3. Czy istnieje ciężar domyślny (widziałem, że może to być 1, ale chcę go uspokoić)?
  4. Wszelkie odniesienia do odpowiednich informacji będą mile widziane :)

Odpowiedz

7

Odpowiedź na pytanie 2 brzmi „tak”, a także wpływa na odpowiedź na pytanie 1. Zasadniczo Weka przechodzi tylko ciężary na rzeczywiste algorytm klasyfikacji. Zakres dozwolonych wag i sposób ich użycia zależy wyłącznie od implementacji klasyfikatora. Jeśli chodzi o pytanie 3, domyślna waga da równą wagę wszystkim instancjom, faktyczna liczba nie jest tak ważna.

Na przykład klasyfikator najbliższego sąsiada ignoruje wagę, nawet jeśli z powodzeniem pobiera dowolne wartości wagowe. Teoretycznie klasyfikatory najbliższego sąsiada mogą zostać zaimplementowane w celu rozważenia wag, ale ten nie ma. Tak więc odpowiedź na pytanie 2 brzmi: zależy to od konkretnej implementacji klasyfikatora nawet bardziej niż algorytm klasyfikatora.

1

utworzyć plik XRFF o następującej treści:

<dataset name="Weka" version="3.7.13-SNAPSHOT"> 
    <header> 
     <attributes> 
     <attribute name="Nombre" type="nominal"> 
      <labels> 
       <label>Alcohol</label> 
       <label>Opioides</label> 
       <label>Cannabinoides</label> 
       <label>Benzodiacepinas</label> 
       <label>Cocaina</label> 
       <label>Anfetaminas_y_derivados</label> 
      </labels> 
      <metadata> 
        <property name="weight">0.2</property> 
      </metadata> 
     </attribute> 
     <attribute name="Tendencia_a_discutir" type="nominal"> 
      <labels> 
       <label>No</label> 
       <label>Yes</label> 
      </labels> 
      <metadata> 
        <property name="weight">0.5</property> 
      </metadata> 
     </attribute> 
     <attribute name="Agresion" type="nominal"> 
      <labels> 
       <label>No</label> 
       <label>Yes</label> 
      </labels> 
      <metadata> 
        <property name="weight">0.5</property> 
      </metadata> 
     </attribute> 
. 
. 
. 
     <instance> 
      <value>Anfetaminas_y_derivados</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>No</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
      <value>Yes</value> 
     </instance> 
     </instances> 
    </body> 
</dataset> 

Ale mogę sprawdzić, czy Weka jest za pomocą wagi, kiedy stosuje NaivesBayes. Moi następcy proponują zmodyfikowanie kodu algorytmu AttributeSelectedClassifier w celu użycia wag.

Powiązane problemy