Python 错误:类型为';浮动';没有len()
以下是错误:Python 错误:类型为';浮动';没有len(),python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,以下是错误: TypeError: object of type 'float' has no len(). 代码是: from scipy.stats import randint as sp_randint from sklearn.model_selection import RandomizedSearchCV param_dist = {"max_depth":sp_randint(2,5), "learning_rate":random.unifor
TypeError: object of type 'float' has no len().
代码是:
from scipy.stats import randint as sp_randint
from sklearn.model_selection import RandomizedSearchCV
param_dist = {"max_depth":sp_randint(2,5),
"learning_rate":random.uniform(0,0.2),
"n_estimators":sp_randint(200,350),
"min_child_weight":sp_randint(2, 8),
"gamma":random.uniform(0,4),
"subsample":random.uniform(0.7,0.3),
"colsample_bytree":random.uniform(0.7,0.3),
"reg_alpha":random.uniform(100,300),
"reg_lambda":random.uniform(100,300)}
model_rs_xgb = RandomizedSearchCV(xgb.XGBClassifier(n_jobs=-1,random_state=25), param_distributions=param_dist,
n_iter=30,scoring='neg_log_loss',cv=5,n_jobs=-1)
model_rs_xgb.fit(X_train,y_train)
pickle.dump(model_rs_xgb,open('model_rs_xgb.p','wb'))
我认为你的训练器材有问题 如果没有任何值或浮点数,请检查您的培训集 对于null,从整个数据帧中删除使用
df=df.dropna(inplace=True)
要检查数据帧(训练集)上的任何整数或浮点值,请使用:
模型想要接收字符串,但它接收一个浮点值 错误的完整回溯是什么?-------------------------------------------------------------TypeError回溯(上次调用)D:\anaconda\lib\site packages\sklearn\model\u selection\u search.py in\uuu iter\uuuuu(self)279 params[k]=v.rvs(random\u state=rnd)280其他:-->281参数[k]=v[rnd.randint(len(v))]282产生参数283请不要在注释中发布代码或错误消息-它们实际上是不可读的。改为编辑和更新您的帖子。我应该在数据集中签入什么@Tareqzzaman Khana实际上,当模型希望字符串作为其特征,但收到float/integer时,会给出此错误。你能分享一些你的数据样本吗?另外,检查你训练集上的任何空值。它有6个字段id,qid1,qid2,问题1,问题2,是重复的,我正在尝试从kaggle解决quora qestion pairs Competition。我们必须预测两个问题是否相似。你能从问题1、问题2中删除所有数字吗?df['question1'].str.len()df['question2'].str.len()检查是否出现任何错误
df['traing_body'].str.len()