机器学习
scorecardpy的使用总结
常用函数及参数
- woebin()中最常用的是breaks_list,表示人工分箱,应用场景是当最优分箱达不到我们的要求时利用人工分箱进行调节,主要使target_index单调,用法如下:
breaks_adj = { 'final_score': [-np.inf,400, 450, 500,550,600,np.inf] } bins_adj = sc.woebin(dt = dt_s,y = "label_new" ,breaks_list = breaks_adj) ##其中breaks_adj既可以有-np.inf,也可以没有,二者达到的功能一致,最好是加上,这样表述比较完整
Statsmodels中的Logit和Sklearn.linear_model的LogitsticRegression的对比
# logistic regression ------ from sklearn.linear_model import LogisticRegression lr = LogisticRegression(penalty='l1', C=0.9, solver='saga', n_jobs=-1) lr.fit(X_train, y_train) lr.intercept_ #statsmodel import statsmodels.api as sm logit_1 = sm.Logit(y_val,X_val) result_1 = logit_1.fit() result_1.summary() result_1.pvalues
主要区别是前者建模的功能更大,可以有l1惩罚项,实现特征筛选;后者对建模结果的统计描述更方便,像模型的系数、P值等