Python Fit Function (Не удалось преобразовать число с плавающей точкой в ​​строку) - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть этот код для запуска регрессии logisti c для набора данных. Я продолжаю получать это сообщение об ошибке «Не удалось преобразовать строку в число с плавающей точкой». Я не уверен, почему это так, потому что столбец, в котором происходит эта ошибка, не является строкой. Может кто-нибудь помочь мне выяснить, где я ошибаюсь?

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'

1 Ответ

1 голос
/ 06 февраля 2020

Значение в вашей матрице X или Y равно 'NONAUTHOR_EXECUTIONS', вам необходимо проверить все значения или тип данных.

Вы можете сделать следующее:

print(df.dtypes)

другим способом

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

Необходимо убедиться, что в них нет строковых значений.

...