Уникальные значения в train_y (meta model): [0.]
Traceback (most recent call last):
File "F:/FX/Python/meta_modeling_Viborka.py", line 504, in <module>
res.append(brute_force(pr[pr.columns[1:]], bad_samples_fraction=0.5))
File "F:/FX/Python/meta_modeling_Viborka.py", line 265, in brute_force
meta_model.fit(train_X, train_y, eval_set=(test_X, test_y),
File "C:\Program Files\Python38\lib\site-packages\catboost\core.py", line 5100, in fit
self._fit(X, y, cat_features, text_features, embedding_features, None, sample_weight, None, None, None, None, baseline, use_best_model,
File "C:\Program Files\Python38\lib\site-packages\catboost\core.py", line 2319, in _fit
self._train(
File "C:\Program Files\Python38\lib\site-packages\catboost\core.py", line 1723, in _train
self._object._train(train_pool, test_pool, params, allow_clear_pool, init_model._object if init_model else None)
File "_catboost.pyx", line 4645, in _catboost._CatBoost._train
File "_catboost.pyx", line 4694, in _catboost._CatBoost._train
_catboost.CatBoostError: C:/Go_Agent/pipelines/BuildMaster/catboost.git/catboost/private/libs/target/target_converter.cpp:375: Target contains only one unique value
>>>
idex值(0,1,2)如何与日历日期进行比较?
它们之间没有比较,只是时间列必须设置为索引,而 0,1,2 完全不需要
请尝试在您的代码中突出显示
def get_prices() -> pd.DataFrame: p = pd.read_csv('files/EURUSD_H1.csv', delim_whitespace=True) pFixed = pd.DataFrame(columns=['time', 'close']) pFixed['time'] = p['<DATE>'] + ' ' + p['<TIME>'] pFixed['time'] = pd.to_datetime(pFixed['time'], format='mixed') pFixed['close'] = p['<CLOSE>'] pFixed.set_index('time', inplace=True) pFixed.index = pd.to_datetime(pFixed.index, unit='s') pFixed = pFixed.dropna() pFixedC = pFixed.copy() count = 0 for i in PERIODS: pFixed[str(count)] = pFixedC.rolling(i).mean() - pFixedC count += 1 return pFixed.dropna()它们不需要进行比较,只需将时间列设置为索引,而 0,1,2 完全不需要
请尝试在代码中突出显示
总的来说,我已经花了很多时间。对来自文件的数据的改编并不成功。
显然,从头开始重写更容易。
第二次迭代时,数据在标记后的某个地方消失了--我不知道这是否是书的某种问题。
基本上,是的,这里有一个归零的过程
我不明白,在第一次迭代之后,我怎么能得到一个大于 1 的值?
因此,由于我没有得到,所有的值"...... "都被清零了。meta_labels"都被清零了。基本上,是的,这里有一个归零的过程
我不明白在第一次迭代后,我怎么能得到一个大于 1 的值?
因此,由于我不明白,所有的" "值都被清零了。给我点时间集中精力,我们稍后再想办法),或者给我发一份您的数据集。
给我点时间让我集中精力,我们稍后再想办法),或者给我发一份你的数据集
这是一个粗略的草稿。我必须解决你没有想到的问题,即不平衡的类在划分子样本时会导致错误。
趁还算数--你可以睡觉了......
我稍后会尝试上传样本。这是一个 样本。
不过,我想我还是没有完全理解这些标记。
我的理解是否正确,元模型将例子分类为 "1 "类,而第二个模型只在第一个模型的单位上激活?
我只是对您的代码感到困惑--被模型归类为单位的内容被写成了 0。当然,如果我理解正确的话...
总的来说,如果我正确地重构了方法,结果如下。
我在代码中增加了检查功能--否则就会出错崩溃--附后。
据我所知,模型解析不起作用,是因为模型代码发生了变化?
我的理解是否正确,元模型将例子分类为 "1 "类,而第二个模型只有在第一个模型的单位上才已激活?
我只是对您的代码感到困惑--被模型归类为单位的内容被写成了 0。当然,如果我理解正确的话...
总的来说,如果我正确地还原了方法,结果如下
我在代码中添加了检查 - 否则会出错 - 附上。
我理解模型解析不起作用是因为模型代码发生了变化?
是的,新版 catbusta 有一些改动,重新设计的部分我会打折扣。我现在有点远离电脑,稍后会尽力提供帮助。
谢谢。
谢谢。