Ocena ważności atrybutów

W tym tygodniu przedstawiamy metody oceny przydatności poszczególnych atrybutów w procesach eksploracji danych. W trakcie laboratorium zapoznajemy się z podstawowymi metodami identyfikacji atrybutów, które są nieprzydatne w zadaniach eksploracji. Będziemy badać zmienność wewnątrz atrybutów, korelację między atrybutami, a także będziemy wybierać zbiory atrybutów charakteryzujące się najbardziej pożądanymi cechami.

Rapid Miner

  • Uruchom narzędzie RapidMiner
  • Utwórz nowy przepływ i wykorzystaj operator Read CSV do wczytania zbioru smsspamcollection.csv (separatorem jest tabulacja, pamiętaj, aby tekst SMS-a oznaczyć jako typ tekstowy podczas importu). Zapoznaj się z opisem zbioru danych
  • Prześlij dokumenty do operatora Process Documents from Data, wewnątrz którego wykonaj tokenizację dokumentów i pozostaw jedynie tokeny o długości 3 znaki lub dłuższe (operatory Tokenize i Filter Tokens by Length)
  • W operatorze Process Documents zaznacz opcję add meta information aby zachować zmienną celu
  • Prześlij dane do operatora Weight by Information Gain aby zobaczyć, jakie słowa charakteryzują się największą entropią. Wykorzystaj operator Select by Weights do ograniczenia zbioru do 100 najważniejszych słów.
  • Porównaj wynik ważenia przez entropię z ważeniem przez test chi-kwadrat lub ważeniem przez korelację wystąpień słowa ze zmiennymi celu. Przy okazji przypomnij sobie, co wyznacza test Chi-kwadrat.
  • Dodaj operator Remove Useless Attributes i usuń te atrybuty, w których zmienność wartości jest poniżej 0.01. Uruchom przepływ, a następnie sprawdź czułość metody na zmianę progu zmienności.

Orange Data Mining

  • Utwórz nowy przepływ, umieść na nim operator File i wczytaj zbiór danych Tic-Tac-Toe (jeśli Twoja instalacja nie ma tego zbioru danych, to pobierz go z UCI Machine Learning Repository). Zapoznaj się z opisem zbioru danych. Jeśli korzystasz z wersji ściągniętej z UCI MLR, to pamiętaj, że musisz zmienić rozszerzenie na *.csv. Nie zapomnij aby wskazać, że atrybut class jest zmienną celu (pełni rolę target).
  • Wyślij dane do operatora Edit Domain i zmień nazwy atrybutów, zgodnie z opisem zbioru danych.
  • Prześlij dane do operatora Rank. Porównaj rankingi atrybutów wygenerowane przez miary ReliefF, Information Gain (entropia) i Chi-squared. Znajdź 3 najważniejsze pozycje w grze decydujące o wygranej.

Twój ostateczny przepływ powinien wyglądać następująco:

zadanie samodzielne : scikit-learn

Termin realizacji zadania samodzielnego to piątek, 10 kwietnia, godz. 12:00. Sposób realizacji zadania jest opisany w notatniku. Za zrealizowanie ćwiczenia przyznaję 10 XP

rozwiązanie zadania
from sklearn import datasets
from sklearn.feature_selection import RFE
from sklearn.tree import DecisionTreeRegressor
 
# scikit-learn korzysta z generatora liczb pseudolosowych z NumPy
# więc w celu uzyskania reprodukowalności ustawiamy globalny stan
import numpy as np
np.random.seed(42) 
 
# utworzenie zbioru danych
X, y = sklearn.datasets.make_classification(
    n_samples=1000,
    n_features=20,
    n_informative=5,
    n_redundant=5,
    n_repeated=5,
    shuffle=False,
)
 
estimator = DecisionTreeRegressor()
selector = RFE(estimator, 5, step=0.1, verbose=1)
 
selector = selector.fit(X, y)
 
# wyświetlenie informacji które atrybuty zostały wybrane
print(selector.support_)
Fitting estimator with 20 features.
Fitting estimator with 18 features.
Fitting estimator with 16 features.
Fitting estimator with 14 features.
Fitting estimator with 12 features.
Fitting estimator with 10 features.
Fitting estimator with 8 features.
Fitting estimator with 6 features.
[False  True  True False False False False False  True False False False
  True False False False  True False False False]
print(f'Number of informative features selected: {sum(selector.support_[:5])}')
print(f'Number of redundant features selected: {sum(selector.support_[5:10])}')
print(f'Number of repeated features selected: {sum(selector.support_[10:15])}')
Number of informative features selected: 2
Number of redundant features selected: 2
Number of repeated features selected: 1
 
ocena_waznosci_atrybutow.txt · Last modified: 2020/05/02 19:22 by Mikołaj Morzy
 
Except where otherwise noted, content on this wiki is licensed under the following license:Public Domain
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki