如何使用csv格式的字符串数据进行输入修改

2024-05-21 04:55:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个数据集来训练模型,但是我的数据集包含分类数据,需要在训练之前正确格式化。如何实现这一点?
基本上,我需要用一个系统来预测以下药物:

我已经排了4000行了,但没有症状

[symptom1 symptom2 symptom3 age weight medicine1]

其中,后两个是可以预测的

我尝试过实现多种方法,包括onehotencoder,但都没有成功


Tags: 数据方法模型症状age系统分类药物
1条回答
网友
1楼 · 发布于 2024-05-21 04:55:59

通常,您会将每个字符串转换为一个数字,并将一个数字数组作为输入。例如,您可以将每个Syntoms和medicine映射为n整数

data = ['symptom1', 'symptom2', 'symptom3', 22, 74, 'medicine1']

mapping = {
    'symptom1':111,
    'symptom2':222,
    'symptom3':333,
    'medicine1':444
}

input_vector = np.array([mapping[x] if type(x) is str else x for x in data])

input_vector现在是array([111, 222, 333, 22, 74, 444]),你已经准备好把它输入你的神经网络了

您可以使用各种方法自动生成mappingdict。 这里有一个:

data = ['symptom1', 'symptom2', 'symptom3', 22, 74, 'medicine1']
#data should be the set() of all your possible string inputs
#you should be able to generate a database just by parsing the input files

mapping = {}

n = 1
for word in data:
    for word in data:
        if type(word) is str:
            if word not in mapping:
                mapping[word] = 111*n
                n += 1

print(mapping)

{'symptom1': 111, 'symptom2': 222, 'symptom3': 333, 'medicine1': 444}

相关问题 更多 >