У меня есть модель случайной лесной регрессии. Идея состоит в том, чтобы прогнозировать заработную плату как функцию от входных данных TFIDF. Процесс токенизации работает без сбоев. Я не уверен, почему возникает следующая ошибка:
from sklearn.ensemble import RandomForestRegressor
rfr = RandomForestRegressor(n_estimators=25)
rfr.fit(m0.tfidf,m0.target)
>>>> ValueError: could not convert string to float: 'UKN'
Где мой ввод выглядит следующим образом
print(m0.tfidf)
>>>>
(0, 81730) 0.08678124719228941
(0, 81720) 0.4051829832483614
(0, 81308) 0.02466923385401487
(0, 80658) 0.09283202518518077
(0, 79980) 0.037640159320294915
(0, 78655) 0.08005811714948727
(0, 78110) 0.1397255873105042
(0, 78008) 0.03997373149323637
(0, 77736) 0.04180617133028598
(0, 77311) 0.05507981089212824
(0, 76997) 0.10662513817286097
(0, 75593) 0.027872186016968326
(0, 75568) 0.043971243890655834
(0, 74902) 0.04832667968768722
(0, 73157) 0.022533926065197177
(0, 72647) 0.0349761677792586
(0, 71808) 0.024035496522681176
(0, 71074) 0.10259091123985954
(0, 71068) 0.029069548629712276
(0, 69111) 0.034672135261239224
(0, 67955) 0.028020431168325064
(0, 67295) 0.08966352907219226
(0, 67271) 0.07466916102470975
(0, 65680) 0.07633327292778912
(0, 65582) 0.06302560391647538
: :
(33176, 14634) 0.06590551471195294
(33176, 13543) 0.10461979226562991
(33176, 13456) 0.13212282016340926
(33176, 13334) 0.06442044467320687
(33176, 13305) 0.08944519590878486
(33176, 12986) 0.12141184143278444
(33176, 12422) 0.07503587946081758
(33176, 12078) 0.055370951522851375
(33176, 12072) 0.05526753229884225
(33176, 11351) 0.06005084727061667
(33176, 11228) 0.04758053186984806
(33176, 10976) 0.05649949678481916
(33176, 10386) 0.03386386645277619
(33176, 10180) 0.0874550089809755
(33176, 10178) 0.10022395321154942
(33176, 8422) 0.041895956703497765
(33176, 5090) 0.042348177892434245
(33176, 4572) 0.03430959811550174
(33176, 3952) 0.03911645709026695
(33176, 3565) 0.053420564985650364
(33176, 3191) 0.03409252329522664
(33176, 2574) 0.06556944792700295
(33176, 2168) 0.03405895402746877
(33176, 804) 0.11463326965951669
(33176, 483) 0.03643119719769616
print(m0.target)
>>>>
job_template_id
0a1503121721392501811267 22.04
0a1503121721483290712244 24.51
0a1503121721565752313317 24.51
0a1503121722295642819615 39.45
0a1503121722362699720498 52.41
...
z16092315345694244686913 33.38
z1609240007114166452790f 33.89
z1609261351036745094491a 28.85
z1609261614080106125891c 17.61
z16092623135294934160908 43.4
Как видите, m0 является экземпляром определенного пользователем класса ; по сути это просто оболочка данных. Если вам нужна дополнительная информация, см. Мой связанный вопрос Python NLP - ValueError: не удалось преобразовать строку в число с плавающей точкой: 'UKN'