Читать книгу Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow - Aurélien Géron - Страница 85

Analysiere die besten Modelle und ihre Fehler

Оглавление

Oft lassen sich Erkenntnisse über die Aufgabe durch Inspizieren der besten Modelle gewinnen. Beispielsweise zeigt der RandomForestRegressor die relative Wichtigkeit jedes Merkmals für genaue Vorhersagen:

>>> feature_importances = grid_search.best_estimator_.feature_importances_

>>> feature_importances

array([7.33442355e-02, 6.29090705e-02, 4.11437985e-02, 1.46726854e-02,

1.41064835e-02, 1.48742809e-02, 1.42575993e-02, 3.66158981e-01,

5.64191792e-02, 1.08792957e-01, 5.33510773e-02, 1.03114883e-02,

1.64780994e-01, 6.02803867e-05, 1.96041560e-03, 2.85647464e-03])

Stellen wir die Scores für die Wichtigkeit der Merkmale gemeinsam mit ihren Namen dar:

>>> extra_attribs = ["rooms_per_hhold", "pop_per_hhold", "bedrooms_per_room"]

>>> cat_encoder = full_pipeline.named_transformers_["cat"]

>>> cat_one_hot_attribs = list(cat_encoder.categories_[0])

>>> attributes = num_attribs + extra_attribs + cat_one_hot_attribs

>>> sorted(zip(feature_importances, attributes), reverse=True)

[(0.3661589806181342, 'median_income'),

(0.1647809935615905, 'INLAND'),

(0.10879295677551573, 'pop_per_hhold'),

(0.07334423551601242, 'longitude'),

(0.0629090704826203, 'latitude'),

(0.05641917918195401, 'rooms_per_hhold'),

(0.05335107734767581, 'bedrooms_per_room'),

(0.041143798478729635, 'housing_median_age'),

(0.014874280890402767, 'population'),

(0.014672685420543237, 'total_rooms'),

(0.014257599323407807, 'households'),

(0.014106483453584102, 'total_bedrooms'),

(0.010311488326303787, '<1H OCEAN'),

(0.002856474637320158, 'NEAR OCEAN'),

(0.00196041559947807, 'NEAR BAY'),

(6.028038672736599e-05, 'ISLAND')]

Mit dieser Information könnten Sie einige der weniger nützlichen Merkmale entfernen (z.B. ist offenbar nur eine Kategorie für die Nähe zum Ozean wirklich nützlich, Sie könnten versuchen, die übrigen wegzulassen).

Sie sollten ebenfalls versuchen, die Fehler Ihres Systems zu betrachten und zu verstehen, warum es diese begeht und wie sie behoben werden könnten (z.B. durch Hinzufügen von zusätzlichen Merkmalen oder Entfernen von überflüssigen, von Ausreißern und so weiter).

Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow

Подняться наверх