大家一直说过拟合,给大家看一下常见的过拟合,
表示就是训练集非常好,而测试集非常差:
这是集成树分类的代码:
import lightgbm as lgb
import numpy as np
from sklearn.metrics import accuracy_score, f1_score
def learning_rate_power(current_round):
base_learning_rate = 0.19000424246380565
min_learning_rate = 0.0001
lr = base_learning_rate * np.power(0.995, current_round)
return max(lr, min_learning_rate)
def train(df_train, df_val, feature_cols, label_col='label'):
lgb_clf = lgb.LGBMClassifier(n_jobs=4,
objective='multiclass',
random_state=100)
opt_params = {'n_estimators': 500,
'boosting_type': 'gbdt',
'objective': 'multiclass',
'num_leaves': 2452,
'min_child_samples': 212,
}
lgb_clf.set_params(**opt_params)
train = df_train[feature_cols] # train = (train - train.mean())/train.std() val = df_val[feature_cols] # val = (val - val.mean())/val.std() fit_params = { # 'early_stopping_rounds': 400, 'eval_metric': 'multiclass', 'eval_set': [(train, df_train[label_col]), (val, df_val[label_col])], # 'verbose': 20, # 'verbosity':-1, 'callbacks': [lgb.reset_parameter(learning_rate=learning_rate_power)]} lgb_clf.fit(train, df_train[label_col], **fit_params) pred_train = lgb_clf.predict(train) print('Training accuracy: ', accuracy_score(df_train[label_col], pred_train)) print('F1 accuracy : ', f1_score(df_val[label_col], lgb_clf.predict(val), average='micro')) print('Validation accuracy: ', accuracy_score(df_val[label_col], lgb_clf.predict(val)))
看下数据表现:
在训练集上,预测的准确率可以达到99%,而测试集上,不足10%。
上面是label为10类的结果,如果改为label预测3类:
那么预测准确性提升至33%,也就是和“瞎猜”差不多。
这样的探索是有意义——我们来一步步优化到可用,找到有用的因子。如果那么容易,那岂不是人人都可以学会?那岂不是很多就失效了?
按惯例,明天统一更新代码,新加入的同学可以看看老的系统工程。
持续给大家写代码的,交付最前沿AI量化技术和策略的星球:
吾日三省吾身
坚持的意义与价值。
坚持100天,你能感觉到自己养成了一个习惯。
后续是基于惯性,或者基于系统,自己想做的事情,并不需要坚持。
所谓“长期主义”,即是如此。
日更公众号443天,收获了一些肯定,认识了不少好朋友。
最初的最初,就是希望把一个兴趣爱好,一个成果跟大家分享。
不要想太多,先做它1000天看看。
当然,目前看,1000天肯定不是终点,还会有新的1000天。
早上读斯多葛学派的书,希望找到内心的平静与安宁。
——把你所拥有的,当成你所所求的。
其实,无论是谁,都已经拥有很多东西。比如年轻,健康的身体。
——蔡磊在《相信》里说的一个细节:“他透过医院的玻璃窗,看到外面流浪汉,拥有矫健的步伐和绵延的生命,不免心里羡慕。”——这位身价过亿,曾经杀伐决断,雷厉风行的高管,身体在不可控的情况下迅速衰退。
功名利禄尘与土。不见武陵豪杰墓,无花无酒锄作田。
如何让人生过得充实而有意义,人生之远大目标应该是什么?
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103550
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!