我一直在閱讀kaggle中的幾個代碼,並且遇到了模糊的實現。直到今天,我從來不知道我們可以在模型的外部聲明一個變量。未知變量聲明
from sklearn.linear_model import LogisticRegression
...
model = LogisticRegression()
....
model.loss = 0.01
model.penalty = 'l1'
model.l1_ratio = True
model.alpha = 'auto'
model.fit(x_train, y_train)
我知道,在sklearn迴歸沒有任何除了懲罰這些參數的,我發現在sklearn本身另一個線性算法SGDClassifier,這實際上接受所有這些參數而是「損失」 ,'l1_ratio','alpha'的數據類型是不同的。我知道每個參數的描述以及爲什麼它們用於其他算法,但我無法理解此聲明背後的原因。不勝感激這個實現的任何解釋。謝謝。
您可以使用此行爲鏈接任何文章,以便我們可以更好地瞭解爲什麼它被完成。從上面的代碼中,它沒有用(因爲它不會在sklearn的任何地方使用),除了易於更改算法。在這裏,我們可以將'model = LogisticRegression()'更改爲model = GradientBoostingClassifier(),而不必擔心再次聲明它們。只有模型的相關參數纔會發生變化,其餘部分只會在沒有任何影響的情況下出現。 –