在对某些银行数据实施Logistic回归时,我遇到错误 ValueError:无法将字符串转换为float:'no'。 这是我到目前为止尝试过的代码。
bank_full=pd.read_csv("/home/bilal/Desktop/linkedinlearning/recommendation-system-python/bank/bank-full.csv")
bank_full.head()
X=bank_full.iloc[:,:37].values
y=bank_full.iloc[:,:18].values
Logreg=LogisticRegression()
Logreg.fit(X,y) #ERROR HERE.
答案 0 :(得分:1)
听起来您的数据中有一个值,该值应该是数字,但实际上是一个名为“ no”的字符串。在将数据从字符串转换为浮点数之前,也许可以对数据进行快速检查。
答案 1 :(得分:1)
此错误意味着您数据中的某些行不包含有效的浮动数据,特别是包含字符串no
的行。
我建议使用for
循环遍历您的数据以检查哪些行是导致错误的行,如下所示:
for i in data:
try:
i = float(i)
print(i)
except:
print("Invalid data.")
答案 2 :(得分:1)
如果您使用的是“银行营销数据集”,则目标(y)值将编码为“是”和“否”。您可以执行以下操作:
bank.loc[bank.y == "yes", 'subscribe'] = 1
bank.loc[bank.y == "no", 'subscribe'] = 0