传统方法中,这次主要考虑OOP,但是可能代码写的有些鬼畜,这些还是需要慢慢体会,如何通过OOP更好提高可维护性等问题。
- 突然发现我这样写并不好,不方便用pipeline把特征工程和模型的参数一起搜参。。。
- 所以第一次写还是可以基于过程来写,然后改成OOP,感觉自己上来设计OO还是hold不住
10.19目前分了4部分
- PreProcess 预处理
- MyModel 特征工程+ML模型
- Evaluate 进行模型评估
- main
四部分分别如下:
from MyModel import Model
from time import time
import numpy as np
from sklearn import metrics
from sklearn.model_selection import cross_val_score, KFold
from sklearn.model_selection import GridSearchCV, RandomizedSearchCV
class Evaluator(Model):
def __init__(self, X, y):
super(Evaluator, self).__init__(X, y) # super会查找所有的超类,以及超类的超类
# def __getitem__(self, item):
# pass
def cross_val(self, clf):
Kfold = KFold(n_splits=5, shuffle=True, random_state=1) # shuffle作用:使每一折各类别的比例与总数据集相同
scores =

最低0.47元/天 解锁文章
1179

被折叠的 条评论
为什么被折叠?



