获取sklearn的部分拟合SGDClassizer系数

2024-03-28 13:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用一个partial_fit在小批量上的SGDClassifier来训练逻辑回归模型:

sgdLogReg = SGDClassifier(loss='log')
for i in range(math.ceil(len(X_train)/mini_batch_size)):
    sgdLogReg.partial_fit(X_train[i*mini_batch_size:(i+1)*mini_batch_size], 
                          Y_train[i*mini_batch_size:(i+1)*mini_batch_size], 
                          classes=[0,1])

但是,由于我没有使用fit函数,因此未设置sgdLogReg.coef_属性:

AttributeError: 'SGDClassifier' object has no attribute 'coef_'

有没有办法用partial_fit得到系数向量


Tags: 模型logforsizebatchtrain逻辑partial
1条回答
网友
1楼 · 发布于 2024-03-28 13:18:51

我想,您是在拟合数据之前调用coef_。下面的示例显示,您可以在.partial_fit之后获取coef_

from sklearn.datasets import make_classification

X, y = make_classification()

sgd = SGDClassifier()

sgd.partial_fit(X,y, classes=[0,1])

print(sgd.coef_)

# [[-42.53636525  -2.52884548 -39.11102068 -14.67123492  16.20897739
#   -35.94926059  12.62473266  18.07587488  49.73232778 -16.74330257
#    78.61713294 -22.21668162  14.89044933 -16.34974837   6.38661036
#    18.58266319  18.84123791  28.24578991  37.94146501  21.3143532 ]]

相关问题 更多 >