隔壁班的紫瑶吧 关注:10贴子:234
  • 0回复贴,共1
机器学习(Machine Learning, ML)是人工智能的重要分支,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。其中分类任务是机器学习中的基本任务之一,
分类任务要求系统依据已知的分类知识对输入的未知模式作分析,以确定输入的类别。执行分类任务的程序通常被成为分类器(Classifier)。
如根据成人的一些属性(Attribute),我们可以使用分类器预测其年收入是否大于5万美元。这些属性包括年龄、性别、每周工作时间、受教育程度等。分类器通常是根据已知的训练数据集(Training Dataset)训练(Train)或学习(Learn)获得的。一条训练数据包括一系列属性和所属类别,以上的年龄、性别等信息就是属性,而收入是否大于5万美金就是所属的类别(这里的类别分为两类,也称作二元分类,对于其它问题可能有更多的类别)。一旦训练好了一个分类器,我们就可以使用它对任一条未知的测试数据(Test Data)进行预测,测试数据通常只包含属性信息,而所属类别未知。而在已知类别的测试数据上进行预测,我们就可以获得分类器的分类准确率。
训练分类器的方法有很多,本项目中使用如下策略训练分类器:
每次检查一个属性,如每周工作时间。对于收入大于5万美元的人,其工作时间可能比较长,如平均50小时;而收入小于5万美元的人工作时间可能比较短,如平均30小时。然后计算50和30的平均值,即40小时。在预测的时候,如果一个人,其工作时间为45小时,则我们认为他可能收入大于5万美元。最后,在每个属性上计算这个人收入的可能类别,然后通过投票的方法,即如果判断其收入大于5万美元的属性更多,则最终判断其收入大于5万美元;反之则收入小于5万美元。以上方法对于连续的(Continuous)属性值有效,大家思考一下,对于离散的(Discrete)属性值,如受教育程度,如何进行处理?
我们使用的成人收入数据集(http://mlr.cs.umass.edu/ml/datasets/Adult)来自著名的UCI机器学习数据集(http://mlr.cs.umass.edu/ml/datasets.html ),目前该数据集包含了成人收入数据集在内的269个数据集。在成人收入数据集中,每个人有14个属性,具体如下:
1.age: continuous.
2.workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.
3.fnlwgt: continuous.
4.education: Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool.
5.education-num: continuous.
6.marital-status: Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse.
7.occupation: Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces.
8.relationship: Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried.
9.race: White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black.
10.sex: Female, Male.
11.capital-gain: continuous.
12.capital-loss: continuous.
13.hours-per-week: continuous.
14.native-country: United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands.
每行数据除了以逗号分隔的属性值外,还包括其所属的类别(>50K或<=50K),如(注意:其中的一些属性值可能无法获得,使用?表示,可以忽略之):
37, Private, 284582, Masters, 14, Married-civ-spouse, Exec-managerial, Wife, White, Female, 0, 0, 40, United-States, <=50K
49, Private, 160187, 9th, 5, Married-spouse-absent, Other-service, Not-in-family, Black, Female, 0, 0, 16, Jamaica, <=50K
52, Self-emp-not-inc, 209642, HS-grad, 9, Married-civ-spouse, Exec-managerial, Husband, White, Male, 0, 0, 45, United-States, >50K
31, Private, 45781, Masters, 14, Never-married, Prof-specialty, Not-in-family, White, Female, 14084, 0, 50, United-States, >50K
题目要求:
使用以上的学习策略,学习一个分类器,并能够对测试数据进行预测,最终输出该分类器在测试数据上的准确率。
成人收入数据集共包含32561条训练数据(adult.train)和16282条测试数据(adult.test)。


来自Android客户端1楼2014-12-26 14:28回复