How to apply Pool or process data while passing to Catboost

174 Views Asked by At

I want to upload my training data to catboost, but it gives me an error. I tried to apply Pool but gave the same error. How do I convert the data to pass it to catboost. Does catboost work with NLP? What form do I need to convert the data to?

My data
"idx": 0, "passage": {"text": "\"(1) Издательство Viking Press совместно с компанией TradeMobile выпустят мобильное приложение, посвященное Анне Франк, передает The Daily Telegraph. (2) Программа будет включать в себя фрагменты из дневника Анны, озвученные британской актрисой Хеленой Бонэм Картер. (3) Помимо этого, в приложение войдут фотографии и видеозаписи, документы из архива Фонда Анны Франк, план здания в Амстердаме, где Анна с семьей скрывались от нацистов, и факсимильные копии страниц дневника. (4) Приложение, которое получит название Anne Frank App, выйдет 18 октября. (5) Интерфейс программы будет англоязычным. (6) На каких платформах будет доступно Anne Frank App, не уточняется. Анна Франк родилась в Германии в 1929 году. (7) Когда в стране начались гонения на евреев, Анна с семьей перебрались в Нидерланды. (8) С 1942 года члены семьи Франк и еще несколько человек скрывались от нацистов в потайных комнатах дома в Амстердаме, который занимала компания отца Анны. (9) В 1944 году группу по доносу обнаружили гестаповцы. (10) Обитатели \"Убежища\" (так Анна называла дом в дневнике) были отправлены в концлагеря; выжить удалось только отцу девочки Отто Франку. (11) Находясь в \"Убежище\", Анна вела дневник, в котором описывала свою жизнь и жизнь своих близких. (12) После ареста книгу с записями сохранила подруга семьи Франк и впоследствии передала ее отцу Анны. (13) Дневник был впервые опубликован в 1947 году. (14) Сейчас он переведен более чем на 60 языков.\"", "questions": [{"question": "О чем дневник Анны Франк?", "answers": [{"idx": 0, "text": "Дневник об отметках Анны."}, {"idx": 1, "text": "Дневник о школьных годах девочки Анны."}, {"idx": 2, "text": "О жизни еврейской девочки во время гонения евреев нацистами."}, {"idx": 3, "text": "Анна описывала свою жизнь и жизнь близких, когда скрывалась от нацистов."}], "idx": 0}, {"question": "Каким будет приложение Anne Frank App?", "answers": [{"idx": 4, "text": "Приложение будет платным."}, {"idx": 5, "text": "Приложение будет англоязычным."}, {"idx": 6, "text": "Приложение будет на еврейском языке."}, {"idx": 7, "text": "Приложение будет посвящено Анне Франк и основано на записях в её дневнике."}], "idx": 1} {"question": "Какая информация войдет в новой мобильное приложение?", "answers": [{"idx": 8, "text": "Карта Нидерландов."}, {"idx": 9, "text": "Программа будет включать в себя фрагменты из дневника Анны, озвученные британской актрисой Хеленой Бонэм Картер."}, {"idx": 10, "text": "Видеозаписи Анны Франк."}, {"idx": 11, "text": "В приложение войдут фотографии и видеозаписи, документы из архива Фонда Анны Франк, план здания в Амстердаме, где Анна с семьей скрывались от нацистов, и факсимильные копии страниц дневника."}], "idx": 2}, {"question": "Где скрывались члены семьи Франк и другие евреи?", "answers": [{"idx": 12, "text": "В концлагере."}, {"idx": 13, "text": "В Германии."}, {"idx": 14, "text": "Они скрывались в \"Убежище\"."}, {"idx": 15, "text": "Они скрывались от нацистов в потайных комнатах дома в Амстердаме."}], "idx": 3}, {"question": "Как Анна называла место, где она и ее семья скрывались от нацистов?", "answers": [{"idx": 16, "text": "Она называла его Убежищем."}, {"idx": 17, "text": "Убежище."}, {"idx": 18, "text": "Потайная комната."}, {"idx": 19, "text": "Амстердамом."}, {"idx": 20, "text": "Концлагерем."}], "idx": 4}, {"question": "Как будет называться приложение, посвященное Анне Франк и включающее фрагменты ее дневника?", "answers": [{"idx": 21, "text": "Отто Франк."}, {"idx": 22, "text": "Анна Франк."}, {"idx": 23, "text": "Анна Ванна."}, {"idx": 24, "text": "Хелена Бонэм Картер."}, {"idx": 25, "text": "Anne Frank App."}], "idx": 5}, {"question": "Когда в первый раз была опубликована книга с записями Анны Франк? ", "answers": [{"idx": 26, "text": "В 1946 году."}, {"idx": 27, "text": "Тогда был 1948 год."}, {"idx": 28, "text": "Тогда был 1947 год."}, {"idx": 29, "text": "В 1947 году."}, {"idx": 30, "text": "В 1948 году."}], "idx": 6}, {"question": "На сколько языков переведён дневник?", "answers": [{"idx": 31, "text": "Более чем на 60 языков."}, {"idx": 32, "text": "Более 300."}, {"idx": 33, "text": "Более 100."}, {"idx": 34, "text": "Более 60."}, {"idx": 35, "text": "Более чем на 100 языков."}], "idx": 7}, {"question": "Кто озвучивал фрагменты книжки с записями, впервые опубликованной в 1947 году?", "answers": [{"idx": 36, "text": "Хелена Бонэм Картер."}, {"idx": 37, "text": "Милена Бонэм Картер."}, {"idx": 38, "text": "Актриса Анна Картер."}, {"idx": 39, "text": "Анна Картер."}, {"idx": 40, "text": "Актриса Хелена Бонэм Картер."}], "idx": 8}, {"question": "Где родилась автор книги, на основе которой издательство Viking Press выпустит мобильное приложение?", "answers": [{"idx": 41, "text": "Девочка родилась в Нидерландах."}, {"idx": 42, "text": "В Германии."}, {"idx": 43, "text": "Девочка родилась в Германии."}, {"idx": 44, "text": "В Польше."}, {"idx": 45, "text": "В Нидерландах."}], "idx": 9}]}}

from catboost import CatBoostRegressor
clf = CatBoostRegressor()
clf.fit(X_train, y_train, verbose=False, plot=True)
predictions = clf.predict(X_test)


Error:
TypeError                                 Traceback (most recent call last)
_catboost.pyx in _catboost.get_float_feature()

_catboost.pyx in _catboost._FloatOrNan()

_catboost.pyx in _catboost._FloatOrNanFromString()

TypeError: Cannot convert 'b'(1) \xd0\x9d\xd0\xbe \xd0\xbb\xd1\x8e\xd0\xb4\xd0\xb8 \xd0\xbd\xd0\xb5 \xd0\xbc\xd0\xbe\xd0\xb3\xd1\x83\xd1\x82 \xd1\x81\xd1\x83\xd1\x89\xd0\xb5\xd1\x81\xd1\x82\xd0\xb2\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb1\xd0\xb5\xd0\xb7 \xd0\xbf\xd1\x80\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb4\xd1\x8b, \xd0\xbf\xd0\xbe\xd1\x8d\xd1\x82\xd0\xbe\xd0\xbc\xd1\x83 \xd0\xb2 \xd0\xbf\xd0\xb0\xd1\x80\xd0\xba\xd0\xb5 \xd1\x81\xd1\x82\xd0\xbe\xd1\x8f\xd0\xbb\xd0\xb8 \xd0\xb6\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb7\xd0\xbe\xd0\xb1\xd0\xb5\xd1\x82\xd0\xbe\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb5 \xd1\x81\xd0\xba\xd0\xb0\xd0\xbc\xd0\xb5\xd0\xb9\xd0\xba\xd0\xb8 \xe2\x80\x94 \xd0\xb4\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb2\xd1\x8f\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb5 \xd0\xbc\xd0\xbe\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe \xd0\xbb\xd0\xbe\xd0\xbc\xd0\xb0\xd0\xbb\xd0\xb8. (2) \xd0\x92 \xd0\xbf\xd0\xb0\xd1\x80\xd0\xba\xd0\xb5 \xd0\xb1\xd0\xb5\xd0\xb3\xd0\xb0\xd0\xbb\xd0\xb8 \xd1\x80\xd0\xb5\xd0\xb1\xd1\x8f\xd1\x82\xd0\xb8\xd1\x88\xd0\xba\xd0\xb8, \xd0\xb2\xd0\xbe\xd0\xb4\xd0\xb8\xd0\xbb\xd0\xb0\xd1\x81\xd1\x8c \xd1\x88\xd0\xbf\xd0\xb0\xd0\xbd\xd0\xb0, \xd0\xba\xd0\xbe\xd1\x82\xd0\xbe\xd1\x80\xd0\xb0\xd1\x8f \xd1\x80\xd0\xb0\xd0\xb7\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xba\xd0\xb0\xd0\xbb\xd0\xb0\xd1\x81\xd1\x8c \xd0\xb8\xd0\xb3\xd1\x80\xd0\xbe\xd0\xb9 \xd0\xb2 \xd0\xba\xd0\xb0\xd1\x80\xd1\x82\xd1\x8b, \xd0\xbf\xd1\x8c\xd1\x8f\xd0\xbd\xd0\xba\xd0\xbe\xd0\xb9, \xd0\xb4\x...

During handling of the above exception, another exception occurred:

CatBoostError                             Traceback (most recent call last)
<ipython-input-16-9f6fad2923e4> in <module>()
----> 1 clf.fit(X_train, y_train, verbose=False, plot=True)
      2 predictions = clf.predict(X_test)

5 frames
/usr/local/lib/python3.6/dist-packages/catboost/core.py in _init(self, data, label, cat_features, text_features, embedding_features, pairs, weight, group_id, group_weight, subgroup_id, pairs_weight, baseline, feature_names, thread_count)
    964             baseline = np.reshape(baseline, (samples_count, -1))
    965             self._check_baseline_shape(baseline, samples_count)
--> 966         self._init_pool(data, label, cat_features, text_features, embedding_features, pairs, weight, group_id, group_weight, subgroup_id, pairs_weight, baseline, feature_names, thread_count)
    967 
    968 

_catboost.pyx in _catboost._PoolBase._init_pool()

_catboost.pyx in _catboost._PoolBase._init_pool()

_catboost.pyx in _catboost._PoolBase._init_objects_order_layout_pool()

_catboost.pyx in _catboost._set_data()

_catboost.pyx in _catboost._set_data_from_generic_matrix()

_catboost.pyx in _catboost.get_float_feature()

CatBoostError: Bad value for num_feature[non_default_doc_idx=0,feature_idx=0]="(1) Но люди не могут существовать без природы, поэтому в парке стояли железобетонные скамейки — деревянные моментально ломали. (2) В парке бегали ребятишки, водилась шпана, которая развлекалась игрой в карты, пьянкой, драками, «иногда насмерть». (3) «Имали они тут и девок...» (4) Верховодил шпаной Артемка-мыло, с вспененной белой головой. (5) Людочка сколько ни пыталась усмирить лохмотья на буйной голове Артемки, ничего у неё не получалось. (6) Его «кудри, издали напоминавшие мыльную пену, изблизя оказались что липкие рожки из вокзальной столовой — сварили их, бросили комком в пустую тарелку, так они, слипшиеся, неподъёмно и лежали. (7) Да и не ради причёски приходил парень к Людочке. (8) Как только её руки становились занятыми ножницами и расчёской, Артемка начинал хватать её за разные места. (9) Людочка сначала увёртывалась от хватких рук Артемки, а когда не помогло, стукнула его машинк
0

There are 0 best solutions below