переводите по 1 слову, через гугл переводчик плагин для chrome. Без аннгл. никак. Даже если через 1-2 слова будете читать то смысл будет понятен в целом. Сам пользую когда слова забываю. Просто кликаете на слове. Можно обороты\предложения выделять.
Переводить весь текст сразу это конечно тупо, так даже слова никогда не запомнишь и смысл текста не поймешь
Спасибо, надо попробовать по Вашей методике попереводить, может это будет даже продуктивней, чем придумывать свои гипотезы, но у меня слабость с языками...
Не понимаю зачем м.б. нужна ручная правка расщеплений и листьев решающих деревьев, да у меня автоматом все ветвления конвертируются в логические операторы, но честно говоря не помню, что бы я их сам когда то корректировал.
Потому что какой смысл использовать листы с вероятностью предсказания менее 50-60%? Это же рандом - лучше модель вообще не будет реагировать на ситуацию, нежели реагировать на угад.
Ivan Negreshniy:
И вообще стоит ли копать код CatBoost, откуда уверенность.
Вот например, я выставлял выше тест на питоне своей нейросети с обучением по таблице умножения на два, а теперь взял его для проверки деревьев и лесов (DecisionTree, RandomForest, CatBoost)
а вот какой результат вышел - явно видно, что не в пользу CatBoost, как дважды два - ноль пять...:)
правда, если взять тысячи деревьев, то результаты улучшаются.
Уверенности у меня нет, что деревья лучше нейросетей, но для деревьев требуется меньше ресурсов на их построение. К примеру сейчас у меня порядка 400 предикторов, а сеть с 400 входными нейронами да и (сколько там слоев) будет считаться слишком долго.
Я могу сбросить свою выборку - может на ней посмотреть, какой метод лучше?
А настройки да - имеют смысл - и я сейчас в них копаюсь и пытаюсь понять их суть.
Не понимаю зачем м.б. нужна ручная правка расщеплений и листьев решающих деревьев, да у меня автоматом все ветвления конвертируются в логические операторы, но честно говоря не помню, что бы я их сам когда то корректировал.
И вообще стоит ли копать код CatBoost, откуда уверенность.
Вот например, я выставлял выше тест на питоне своей нейросети с обучением по таблице умножения на два, а теперь взял его для проверки деревьев и лесов (DecisionTree, RandomForest, CatBoost)
а вот какой результат вышел - явно видно, что не в пользу CatBoost, как дважды два - ноль пять...:)
правда, если взять тысячи деревьев, то результаты улучшаются.
import catboost
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from catboost import CatBoostRegressor
from sklearn.ensemble import GradientBoostingRegressor
x = [[1,2],[2,2],[3,2],[4,2],[5,2],[6,2],[7,2],[8,2],[9,2]]
y = [2,4,6,8,10,12,14,16,18]
print('-------- 1 DecisionTree')
tree = DecisionTreeRegressor().fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],tree.predict([ix])[0]))
print('-------- RandomForest 10 Tree')
regr = RandomForestRegressor(bootstrap=True).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],regr.predict([ix])[0]))
print('-------- CatBoost 10 Tree')
cat = CatBoostRegressor(iterations=100, learning_rate=0.1, depth=2, verbose=False).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],cat.predict([ix])[0]))
print('-------- Gboost 100 Trees')
gboost = GradientBoostingRegressor(n_estimators=100, verbose = False).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],gboost.predict([ix])[0]))
-------- 1 DecisionTree
1.00*2.00=2.002.00*2.00=4.003.00*2.00=6.004.00*2.00=8.005.00*2.00=10.006.00*2.00=12.007.00*2.00=14.008.00*2.00=16.009.00*2.00=18.00
-------- RandomForest 10 Tree
1.00*2.00=3.602.00*2.00=4.403.00*2.00=6.004.00*2.00=8.005.00*2.00=9.206.00*2.00=11.807.00*2.00=13.208.00*2.00=15.609.00*2.00=17.40
-------- CatBoost 10 Tree
1.00*2.00=2.972.00*2.00=2.973.00*2.00=5.784.00*2.00=8.745.00*2.00=10.166.00*2.00=12.887.00*2.00=14.678.00*2.00=15.779.00*2.00=15.77
-------- Gboost 100 Trees
1.00*2.00=2.002.00*2.00=4.003.00*2.00=6.004.00*2.00=8.005.00*2.00=10.006.00*2.00=12.007.00*2.00=14.008.00*2.00=16.009.00*2.00=18.00
чуток подтюнил и добавил градиентный бустинг, он лучше всего работает из коробки
import catboost
import lightgbm as gbm
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from catboost import CatBoostRegressor
from sklearn.ensemble import GradientBoostingRegressor
x = [[1,2],[2,2],[3,2],[4,2],[5,2],[6,2],[7,2],[8,2],[9,2]]
y = [2,4,6,8,10,12,14,16,18]
print('-------- 1 DecisionTree')
tree = DecisionTreeRegressor().fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],tree.predict([ix])[0]))
print('-------- RandomForest 10 Tree')
regr = RandomForestRegressor(bootstrap=True, n_estimators=100).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],regr.predict([ix])[0]))
print('-------- CatBoost 10 Tree')
cat = CatBoostRegressor(iterations=100, learning_rate=0.1, depth=2, verbose=False).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],cat.predict([ix])[0]))
print('-------- Gboost 100 Trees')
gboost = GradientBoostingRegressor(n_estimators=100, verbose = False).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],gboost.predict([ix])[0]))
print('-------- LGBM 100 Trees')
gbbm = gbm.LGBMRegressor(n_estimators=100,boosting_type='dart').fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],gbbm.predict([ix])[0]))
-------- 1 DecisionTree
1.00*2.00=2.002.00*2.00=4.003.00*2.00=6.004.00*2.00=8.005.00*2.00=10.006.00*2.00=12.007.00*2.00=14.008.00*2.00=16.009.00*2.00=18.00
-------- RandomForest 10 Tree
1.00*2.00=2.842.00*2.00=3.743.00*2.00=5.464.00*2.00=7.705.00*2.00=9.666.00*2.00=11.447.00*2.00=13.788.00*2.00=15.469.00*2.00=16.98
-------- CatBoost 10 Tree
1.00*2.00=2.972.00*2.00=2.973.00*2.00=5.784.00*2.00=8.745.00*2.00=10.166.00*2.00=12.887.00*2.00=14.678.00*2.00=15.779.00*2.00=15.77
-------- Gboost 100 Trees
1.00*2.00=2.002.00*2.00=4.003.00*2.00=6.004.00*2.00=8.005.00*2.00=10.006.00*2.00=12.007.00*2.00=14.008.00*2.00=16.009.00*2.00=18.00
-------- LGBM 100 Trees
1.00*2.00=10.002.00*2.00=10.003.00*2.00=10.004.00*2.00=10.005.00*2.00=10.006.00*2.00=10.007.00*2.00=10.008.00*2.00=10.009.00*2.00=10.00
Потому что какой смысл использовать листы с вероятностью предсказания менее 50-60%? Это же рандом - лучше модель вообще не будет реагировать на ситуацию, нежели реагировать на угад.
Уверенности у меня нет, что деревья лучше нейросетей, но для деревьев требуется меньше ресурсов на их построение. К примеру сейчас у меня порядка 400 предикторов, а сеть с 400 входными нейронами да и (сколько там слоев) будет считаться слишком долго.
Я могу сбросить свою выборку - может на ней посмотреть, какой метод лучше?
А настройки да - имеют смысл - и я сейчас в них копаюсь и пытаюсь понять их суть.
Конечно покопайтесь и выбирайте, как можно тщательнее, пока все это еще в начальной стадии.
Кроме непонятки с дважды два еще попробуйте отключить навязчивое, при каждом запуске, создание CatBoost'ом своих временных каталогов т.к. от этого в защищенной среде он вылетает.
И вообще, эти глюки у него выглядят как-то не очень профессионально, поэтому если не удастся их победить, то лично по моему мнению, дешевле бесплатного - от этого продукта отказаться сразу:)
там у CatBoost при iterations=100 деревьев а не 10, а GBM красавчег:)
LGBM ваще не работает, ну как обычно у майкрософт
и XGB до кучи по дефолту
-------- XGB 100 Trees
1.00*2.00=2.002.00*2.00=4.003.00*2.00=6.004.00*2.00=8.005.00*2.00=10.006.00*2.00=12.007.00*2.00=13.998.00*2.00=15.989.00*2.00=17.91
какие еще есть бустинги? :) потом более сложную задачу им подкину всей куче сразу
Да, я видел, и уже посмотрел плагины, там таких несколько. Интересно то, что раньше хром это делал сам по себе, без дополнительной установки чего либо.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
переводите по 1 слову, через гугл переводчик плагин для chrome. Без аннгл. никак. Даже если через 1-2 слова будете читать то смысл будет понятен в целом. Сам пользую когда слова забываю. Просто кликаете на слове. Можно обороты\предложения выделять.
Переводить весь текст сразу это конечно тупо, так даже слова никогда не запомнишь и смысл текста не поймешь
Спасибо, надо попробовать по Вашей методике попереводить, может это будет даже продуктивней, чем придумывать свои гипотезы, но у меня слабость с языками...
Не понимаю зачем м.б. нужна ручная правка расщеплений и листьев решающих деревьев, да у меня автоматом все ветвления конвертируются в логические операторы, но честно говоря не помню, что бы я их сам когда то корректировал.
Потому что какой смысл использовать листы с вероятностью предсказания менее 50-60%? Это же рандом - лучше модель вообще не будет реагировать на ситуацию, нежели реагировать на угад.
И вообще стоит ли копать код CatBoost, откуда уверенность.
Вот например, я выставлял выше тест на питоне своей нейросети с обучением по таблице умножения на два, а теперь взял его для проверки деревьев и лесов (DecisionTree, RandomForest, CatBoost)
а вот какой результат вышел - явно видно, что не в пользу CatBoost, как дважды два - ноль пять...:)
правда, если взять тысячи деревьев, то результаты улучшаются.Уверенности у меня нет, что деревья лучше нейросетей, но для деревьев требуется меньше ресурсов на их построение. К примеру сейчас у меня порядка 400 предикторов, а сеть с 400 входными нейронами да и (сколько там слоев) будет считаться слишком долго.
Я могу сбросить свою выборку - может на ней посмотреть, какой метод лучше?
А настройки да - имеют смысл - и я сейчас в них копаюсь и пытаюсь понять их суть.
Не понимаю зачем м.б. нужна ручная правка расщеплений и листьев решающих деревьев, да у меня автоматом все ветвления конвертируются в логические операторы, но честно говоря не помню, что бы я их сам когда то корректировал.
И вообще стоит ли копать код CatBoost, откуда уверенность.
Вот например, я выставлял выше тест на питоне своей нейросети с обучением по таблице умножения на два, а теперь взял его для проверки деревьев и лесов (DecisionTree, RandomForest, CatBoost)
а вот какой результат вышел - явно видно, что не в пользу CatBoost, как дважды два - ноль пять...:)
правда, если взять тысячи деревьев, то результаты улучшаются.чуток подтюнил и добавил градиентный бустинг, он лучше всего работает из коробки
остальные конечно что-то мнда..
А вот слово или абзац - вообще никак.
https://www.mql5.com/ru/forum/86386/page1180#comment_9543249
там у CatBoost при iterations=100 деревьев а не 10, а GBM красавчег:)
Потому что какой смысл использовать листы с вероятностью предсказания менее 50-60%? Это же рандом - лучше модель вообще не будет реагировать на ситуацию, нежели реагировать на угад.
Уверенности у меня нет, что деревья лучше нейросетей, но для деревьев требуется меньше ресурсов на их построение. К примеру сейчас у меня порядка 400 предикторов, а сеть с 400 входными нейронами да и (сколько там слоев) будет считаться слишком долго.
Я могу сбросить свою выборку - может на ней посмотреть, какой метод лучше?
А настройки да - имеют смысл - и я сейчас в них копаюсь и пытаюсь понять их суть.
Конечно покопайтесь и выбирайте, как можно тщательнее, пока все это еще в начальной стадии.
Кроме непонятки с дважды два еще попробуйте отключить навязчивое, при каждом запуске, создание CatBoost'ом своих временных каталогов т.к. от этого в защищенной среде он вылетает.
И вообще, эти глюки у него выглядят как-то не очень профессионально, поэтому если не удастся их победить, то лично по моему мнению, дешевле бесплатного - от этого продукта отказаться сразу:)
там у CatBoost при iterations=100 деревьев а не 10, а GBM красавчег:)
LGBM ваще не работает, ну как обычно у майкрософт
и XGB до кучи по дефолту
какие еще есть бустинги? :) потом более сложную задачу им подкину всей куче сразу
https://www.mql5.com/ru/forum/86386/page1180#comment_9543249
Да, я видел, и уже посмотрел плагины, там таких несколько. Интересно то, что раньше хром это делал сам по себе, без дополнительной установки чего либо.