我有一个数据集。它有一些字符串列。我想转换这些字符串列。我正在用这个数据集开发一个神经网络。但是由于数据集有一些字符串值,我无法训练我的神经网络。将这些字符串值转换为神经网络可读格式的最佳方法是什么?在
这是我拥有的数据集
type,amount,nameOrig,oldbalanceOrg,newbalanceOrig,nameDest,oldbalanceDest,newbalanceDest,isFraud,isFlaggedFraud
PAYMENT,9839.64,C1231006815,170136.0,160296.36,M1979787155,0.0,0.0,1,0
PAYMENT,1864.28,C1666544295,21249.0,19384.72,M2044282225,0.0,0.0,0,0
TRANSFER,181.0,C1305486145,181.0,0.0,C553264065,0.0,0.0,0,1
我想把那些类型、nameOrig、nameDest字段转换成神经网络可读格式。在
我用了下面的方法。但我不知道这是对是错。在
^{pr2}$我已经讨论了以下问题。但大多数都不是为我工作的
How to convert string based data frame to numeric
converting non-numeric to numeric value using Panda libraries
converting non-numeric to numeric value using Panda libraries
您需要将字符串值编码为数字值。在这种情况下,我通常是通过一个非数字特征来创建一个表,所创建的表包含该特性的所有可能值。然后,在训练模型时使用相应特征表中的值的索引。在
示例:
在本例中,您可以使用pandas的数据类型
category
将字符串映射到索引(请参见categorical data)。所以没有必要使用LabelEncoder或OneHotEncoder的scikit-learn。在来自CSV的数据:
^{pr2}$转化
首先需要使用
LableEncoder
类转换这三列。在分类数据编码
这里你有类型作为范畴值。为此,您可以使用
sklearn.preprocessing
中提供的OneHotEncoder
类。在避免伪变量陷阱
然后,您需要通过删除任何一个用于表示类型的列来避免伪变量陷阱。在
代码
这里我把示例代码放在这里供您参考。在
相关问题 更多 >
编程相关推荐