我有这样的训练数据示例(我有1000部电影用于训练),我需要预测每部电影的’预算’:
film_1 = { 'title': 'The Hobbit: An Unexpected Journey', 'article_size': 25000, 'producer': ['Peter Jackson', 'Fran Walsh', 'Zane Weiner'], 'release_date': some_date(2013, 11, 28), 'running_time': 169, 'country': ['New Zealand', 'UK', 'USA'], 'budget': dec('200000000')}
像'title'
、'producer'
、'country'
这样的键可以被视为机器学习中的特征,而像'The Hobbit: An Unexpected Journey'
、25000
等值可以被视为用于学习过程的值。然而,在训练过程中,输入通常被接受为实数而不是字符串格式。我是否需要将像'title'
、'producer'
、'country'
这样的字段(这些字段是字符串)转换为int
(需要进行分类或序列化处理?)或者进行其他操作,以便能够将这些数据用作我的网络的训练集?
回答:
我想知道这是不是你需要的:
film_list=['title','article_size','producer','release_date','running_time','country','budget']flist = [(i,j) for i, j in enumerate(film_list)]label = [ seq[0] for seq in flist ]name = [ seq[1] for seq in flist ]print label print name>>[0, 1, 2, 3, 4, 5, 6]['title', 'article_size', 'producer', 'release_date', 'running_time', 'country', 'budget']
或者你可以直接使用你的字典,
labels = film_1.keys()print labels# 但键是排序的,labels[0]会给你'producer'而不是'title':>>['producer', 'title', 'country', 'release_date', 'budget', 'article_size', 'running_time']