sklearn逻辑回归 极大似然 损失_使用sklearn处理高维稀疏逻辑回归问题

在点击率预估场景中,最经典的就是把类别型数据做onehot编码,然后用LogisticRegression一跑就行。

作者这边在处理阿里妈妈2018的初赛数据,只用部分类别字段,但onehot的话,也有16000维。如果使用pandas.get_dummies进行编码,会得到400000*16000这样规模的矩阵,然后丢给LR,结果就是memory error。貌似,get_dummies的sparse=True,没起啥作用。

不偷懒了,用LabelEncoder+OnehotEncoder!

加载数据中的类别字段

from 

虽然指定用str类型读取,但送给LabelEncoder前必须再次astype('str'),否则要报错的。

编码onehot

oh

训练数据tranform后会得到类型为scipy.sparse.csr.csr_matrix的稀疏矩阵。

训练lr

from 

这样就ok了。