проблемы при попытке передать данные в функцию keras.utlis.normalize - PullRequest
0 голосов
/ 28 марта 2020

Я работаю над небольшим проектом анализа данных (для себя) и столкнулся с проблемой: o

вот мой код:)

import numpy as np
import pandas as pd
import tensorflow as tf

data = pd.read_csv("game_Statistics.csv")

#prepare data

#drop useless columns
data.drop(columns=['Date', 'Mental State', 'Assists', 'Revives', 'Hits','Head Shots'], inplace=True)

#format time of day to an easyily processable integer
for i in range(len(data['Time of Day'])):
    data['Time of Day'][i] = data['Time of Day'][i].replace(" AM", "")
    data['Time of Day'][i] = data['Time of Day'][i].replace(" PM", "")
    data['Time of Day'][i] = data['Time of Day'][i].replace(":00:00", "")

for i in range(len(data['Accuracy'])):
    data['Accuracy'][i] = int(data['Accuracy'][i].replace("%", ""))

y = data['Placed'].values
x = data.drop(columns=['Placed'])
x = x[:].values

x = tf.keras.utils.normalize(x, axis=1)

the x variable

Я полагаю, что проблема заключается в наборе данных x (который должен быть массивом), когда он передается в функцию нормализации

ошибка

TypeError: loop of ufunc does not support argument 0 of type float which has no callable conjugate method

(прослеживается до функции нормализации)

любая помощь будет принята с благодарностью:)

1 Ответ

0 голосов
/ 29 марта 2020

выяснил проблему:)

функция нормализации не принимает числа с плавающей запятой, поэтому необходимо убедиться, что тип данных является целым: o

решение :

x = data.drop(columns=['Placed']).to_numpy(dtype="int64')

это создаст массив NumPy, который будет в int64 и будет обрабатываться функцией нормализации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...