【问题标题】:Python Fit Function (Could not convert float to string)Python Fit 函数(无法将浮点数转换为字符串)
【发布时间】:2020-05-21 23:32:52
【问题描述】:

我有这段代码可以在数据集上运行逻辑回归。我不断收到此“无法将字符串转换为浮点数”的错误消息。我不确定为什么会这样,因为发生此错误的列不是字符串。谁能帮我找出我错在哪里?

import numpy as np
from sklearn import preprocessing
import matplotlib.pyplot as plt
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2

#load data
names = ['user','query-executions','non-author-query-executions','query-writes', 'bi-object-view','table-view', 'query-view', 'catalog-edits','queries-run','searches','articles-written','curate-actions','flags-expanded','conversations-viewed','retention-week']
df = pd.read_csv('jupyter.csv', names=names)
X = array[:,1:12]
Y = array[:,13]
test = SelectKBest(score_func=chi2, k=4)
fit = test.fit(X, Y)

/opt/anaconda3/lib/python3.7/site-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
     83 
     84     """
---> 85     return array(a, dtype, copy=False, order=order)
     86 
     87 

ValueError: could not convert string to float: 'NONAUTHOR_EXECUTIONS'

【问题讨论】:

标签: python pandas numpy machine-learning scikit-learn


【解决方案1】:

X 矩阵或Y 矩阵中的值为'NONAUTHOR_EXECUTIONS',您需要检查所有值或其数据类型。

您可以执行以下操作:

print(df.dtypes)

另一种方式

for col in df.columns:
    print(df[col].unique())

您需要确保其中没有字符串值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2018-04-23
    • 2020-11-19
    • 2015-03-25
    • 2021-12-23
    • 2017-08-12
    相关资源
    最近更新 更多