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

Orange Data Mining

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