【问题标题】:problems when trying to pass data into the keras.utlis.normalize function尝试将数据传递到 keras.utils.normalize 函数时出现问题
【发布时间】:2020-07-08 18:25:02
【问题描述】:

我正在做一个小型数据分析项目(为我自己),我遇到了一个问题: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)

我认为问题出在 x 数据集(我需要是一个数组)中,当它传递给 normalize 函数时

错误

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

(追溯到归一化函数)

任何帮助将不胜感激:)

【问题讨论】:

  • 检查type(x[:].values)print(x[:].values) 的结果,因为这是您传递给tf.keras.utils.normalize() 函数的结果。您的错误表明存在字符串,因为该方法需要 numpy.array 或其他具有 .conjugate() 方法的对象。
  • @Jason 我在变量资源管理器中添加了一张图片
  • 当您将变量名称 x 分配 3 次时,我无法知道您的图像中是哪个 x,如果您使用我在第一条评论中建议的方法,您将能够在将 x 传递给 tf.keras.utils.normalize() 之前立即查看其类型和内容
  • @Jason 我现在明白了,我修复了字符串问题,但现在。 x 值看起来像 [12 3 29 570.68 78 50 343 509 1777],所以列表没有用逗号分隔,是否有不同的方法来调用 x[:].values 代码块以便正确分隔?
  • 你能告诉我type(x[:].values)的结果吗?您需要检查代码中的特定行,以确保所有值都是数字类型,例如 int/float 等。如何转换/修复问题取决于您的对象类型重新处理。

标签: python python-3.x pandas tensorflow keras


【解决方案1】:

解决了问题:)

normalize 函数不接受浮点数,因此需要确保数据类型为整数:o

解决方案:

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

这将创建一个 int64 格式的 NumPy 数组,可由 normalize 函数处理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2020-01-26
    • 2021-05-24
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多