Я пытаюсь обучить случайного лесного регрессора прогнозировать почасовую заработную плату работника с учетом предоставленной должностной инструкции. Обратите внимание, я подписал NDA и не могу загрузить реальные данные. Приведенное ниже «наблюдение» является синтетическим класс, я возвращаю следующую ошибку:
rfr = RandomForestRegressor()
m0 = Model(model_instance=rfr,data=unique_templates,text_col='jp_description',target_col='onet_salary')
>>>> ValueError: could not convert string to float: 'UKN'
Что я могу сделать, чтобы устранить проблему? Есть ли токен в наборе тестов, который не в наборе поездов, который преобразуется в 'UKN' - что вызывает ошибку?
Есть какие-нибудь рекомендации?
Редактировать 1: Расширенное сообщение об ошибке:
ValueError Traceback (most recent call last)
<ipython-input-69-d21643a194e8> in <module>
1 rfr = RandomForestRegressor()
----> 2 m0 = Model(model_instance=rfr,data=unique_templates,text_col='jp_description',target_col='onet_salary')
<ipython-input-68-88d95cf81383> in __init__(self, model_instance, data, text_col, target_col, test_size, random_state)
9
10 self._split_data()
---> 11 self._fit()
12
13 def _fit(self):
<ipython-input-68-88d95cf81383> in _fit(self)
21 ('classifier', model),
22 ])
---> 23 self.pipeline.fit(self.text_train,self.value_train)
24 self.preds = self.pipeline.predict(self.text_test)
25
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/pipeline.py in fit(self, X, y, **fit_params)
354 self._log_message(len(self.steps) - 1)):
355 if self._final_estimator != 'passthrough':
--> 356 self._final_estimator.fit(Xt, y, **fit_params)
357 return self
358
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py in fit(self, X, y, sample_weight)
276
277 if getattr(y, "dtype", None) != DOUBLE or not y.flags.contiguous:
--> 278 y = np.ascontiguousarray(y, dtype=DOUBLE)
279
280 if expanded_class_weight is not None:
~/opt/anaconda3/lib/python3.7/site-packages/numpy/core/_asarray.py in ascontiguousarray(a, dtype)
177
178 """
--> 179 return array(a, dtype, copy=False, order='C', ndmin=1)
180
181
ValueError: could not convert string to float: 'UKN'