Xgboost: НуТна Π»ΠΈ нормализация?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 17 июн. 2015  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: dmlc/xgboost

Π― Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ xgboost Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ xgboost - Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΉ классификатор, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ нормализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ трСбуСтся?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π½Π΅Ρ‚, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π½Π΅Ρ‚, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π”ΡƒΠΌΠ°ΡŽ, я понимаю, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π΅Ρ‚ нСобходимости Π² Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ бустС Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π².

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ влияниС ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ значСния y, особСнно с Β« reg: gamma Β», Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ (Π² мСньшСй стСпСни) для Β« reg: linear Β» (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ). Π§Ρ‚ΠΎ являСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… Boston Housing:

import numpy as np
import xgboost as xgb
from sklearn.metrics import mean_squared_error
from sklearn.datasets import load_boston

boston = load_boston()
y = boston['target']
X = boston['data']

for scale in np.logspace(-6, 6, 7):
    xgb_model = xgb.XGBRegressor().fit(X, y / scale)
    predictions = xgb_model.predict(X) * scale
    print('{} (scale={})'.format(mean_squared_error(y, predictions), scale))

2.3432734454908335 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1e-06)
2,343273977065266 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 0,0001)
2,3432793874455315 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 0,01)
2,290595204136888 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1,0)
2,528513393507719 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 100,0)
7,228978353091473 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 10000,0)
272,29640759874474 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1000000,0)

ВлияниС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ y Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π΅Π»ΠΈΠΊΠΎ ΠΏΡ€ΠΈ использовании reg: gamma :

for scale in np.logspace(-6, 6, 7):
    xgb_model = xgb.XGBRegressor(objective='reg:gamma').fit(X, y / scale)
    predictions = xgb_model.predict(X) * scale
    print('{} (scale={})'.format(mean_squared_error(y, predictions), scale))

591,6509503519147 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1e-06)
545,8298971540023 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 0,0001)
37,68688286293508 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 0,01)
4,039819858716935 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1,0)
2,505477263590776 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 100,0)
198.94093800190453 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 10000,0)
592,1469169959003 (ΠΌΠ°ΡΡˆΡ‚Π°Π± = 1000000,0)

@tqchen Читая вашС Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Boosted Trees, ΠΌΠ½Π΅ нСпонятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с матСматичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ