python - Sklearn 模型无法接受 TFIDF 向量输入
问题描述
我有一个随机森林回归模型。这个想法是将工资预测为 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: could not convert string to float: 'UKN'
解决方案
推荐阅读
- c# - 日历日期名称或描述是否有覆盖?
- azure - ServiceBus 命名空间区域冗余如何工作?
- reactjs - 如何在 antdesign 的模态页脚上添加另一个按钮?
- mysql - MYSQL 外键格式不正确
- java - 有没有从 HttpServletRequest 读取表单数据的方法?
- java - Java Spring Hibernate SQL select with order by Causes in DB2 对性能影响很大
- c# - 实体框架核心自动增量无法正常工作
- tsql - 如何使用 json_query 在 json 中拆分数组?
- c - 如何修复在 EXTI9-5 上多次触发的中断?
- bash - 有没有办法优化此代码并使其更快或任何其他更好的解决方案?