机器学习问题总结

1. 自己写的变量与sklearn包中重名,程序优先调用自己写的变量导致:
RecursionError: maximum recursion depth exceeded

AttributeError: 'XGBRegressor' object has no attribute 'XGBRegressor'
解决:定义了与关键字相同的名字,如:xgb

2. API的bug问题,需要升级版本更新解决问题
AttributeError: 'Flags' object has no attribute 'c_contiguous'


3.数据中有空值NAN存在,需要处理
ValueError: np.nan is an invalid document, expected byte or unicode string.


4. ValueError: Invalid classes inferred from unique values of `y`.  Expected: [0 1 2 3 4 5], got [3 4 5 6 7 8]
发生这种情况是因为类列必须从 0 开始(自 1.3.2 版以来要求)。解决这个问题的一种简单方法是使用sklearn.preprocssing 库中的LabelEncoder。
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
y = le.fit_transform(y)

5.逻辑回归:
LogisticReression的api中并没有提供调整0,1标签的阈值
predict_proba:一个结果的0,1分别占概率,两个概率值是100%, 所以可以通过estimator.predict_proba(),先得到1标签的概率,自己进行判断并计算 np.where()判断并进行统计计算


6.codex 是早期2.x对文本编码处理比较靠谱,Open.file()有编码问题, 3.x之后问题不存在

7. XGBoostError: value 0 for Parameter num_class should be greater equal to 1 num_class: Number of output class in the multi-class classification.
参数问题:去掉objective='multi:softmax'参数问题解决    
 

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值