Project 3 时间序列预测 答疑区



  • @jone4291 但如果你有自己写的model, 那需要先将你的model包一下, 才能放进去GridSearchCV里面. 你需要提供一个class, 里面有fit, score, get_params这些函数供GridSearchCV使用.

    最后, 如果你有一个自己写的cross validation, 我目前没看到太好的办法. 你可能需要自己定义parameter grid(可以使用sklearn的ParameterGrid), 然后对里面每组参数进行function evaluation.



  • 运行xgboost的时候,出现error:AttributeError: module ‘xgboost’ has no attribute ‘DMatrix’, 环境是mac python3 jupyter notebook, 谢谢。



  • @randxie 所以我们上课写的group kfold跟这个 GroupKFold的意义是一模一样的嘛?
    把model包一下是什么意思呢?用上课写的model做例子的话,是要再写fit, score, get_params这些函数?



  • @jone4291 你好, 我给的例子里面和上课用的有些细微区别. 上课给的是group random split (GroupShuffleSplit). 所以你只需要让"gkf = GroupShuffleSplit(n_splits=2, random_state=0)"即可得到相应的cross validation. 但是, 如果你需要做一些自己的定义的cross validation然后sklearn又没有提供的话, 就需要自己写一个类似的函数了.

    把模型包一下的话, 可以参考"http://stackoverflow.com/questions/20330445/how-to-write-a-custom-estimator-in-sklearn-and-use-cross-validation-on-it". 这时候你需要自己写一个能在GridSearchCV里面使用的estimator



  • @Echo_Xiao 请这里面信息有点少, 无法判断具体原因. 不过你可以先测试一下能否在ipython里面import xgboost. 以及检查是否有和xgboost重名的文件或者folder.



  • @randxie 老师, 当我们用 logistic regression with L1 regularization的importance select features的时候, 我们怎么选择regularization 的值呢
    可以用logisticregressionCV吗?



  • @jone4291 你好, 用logisticregressionCV没有问题的. 但要注意的一点是, 正如课上讲的, 这些方法成立的前提是有准确的cross validation. 但这次的EEG数据要建立准确的cross validation比较困难. 在这种情况下, 我会建议用稍微大一点的regularization.



  • @randxie 老师 我用你之前说的group CV来做这个logisticregressionCV, 最后出错说在fit里面没有group的值
    ValueError: The groups parameter should not be None
    能帮我debug下吧

    from sklearn.linear_model import LogisticRegressionCV
    MyData = Datawarehouse()
    MyData.read_data()

    gkf = GroupShuffleSplit(n_splits=6, random_state=0)

    lr_cv = LogisticRegressionCV(penalty=‘l1’, Cs=(0.1,1),solver=‘liblinear’, cv=gkf)
    lr_cv = lr_cv.fit(MyData.train_in, MyData.train_out, MyData.group)
    print(np.count_nonzero(lr_cv.coef_))



  • @jone4291 hi, 这里你可能需要用之前和你提到的GridSearchCV来调参. 我看了一下logisticregressionCV的代码, 似乎还不支持group split这种方法.


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待