Github上的一个简单项目:用人工智能预测大学录取概率
2017年10月31日 由 yining 发表
893391
0
每年有超过200万的大学申请被提交,每个申请都有一定的机遇与风险。即使是最高学术水平的学生的申请也存在随机因素,因此往往会面临困难的局面——大学招生中固有的精英管理体制会给很多申请者带来不确定性、怀疑和焦虑。
当然,有很多因素影响着录取,但有两个因素在决定录取率方面有很大的影响:GPA和SAT/ACT成绩。虽然其他因素也在考虑之中,但在统计学上不可否认的是,这两项指标对学生的申请有着不可思议的重要性——尽管没有人真正知道这些指标是如何被大学评判和过滤的。
但最终,这两项指标可以用数据科学轻松地评估数据,以分析趋势和关联。因此,我决定尝试去预测大学的录取情况。
虽然有成千上万的统计方法来分析GPA和SAT/ACT成绩和申请结果之间的趋势,但我选择了一个最近流行的预测方法:机器学习。
在Tensorflow中实现了一个架构之后,我在卡内基梅隆大学收集的数据集上训练了我的网络。
Chancey是基于GPA和SAT2400数据的大学招生录取率的预测器。令人惊讶的是,在大约15万次迭代之后(在GeForce 1060 GPU上花费了1分钟),大多数大学在这个带有50个样本数据的模型上轻松达到80%的准确率。虽然这看起来并不算准确,但它足以得出一些结论,而且肯定比任意的线性模型更好。
准备要求:
- Python (最好是3.x版本)
- Tensorflow (最好使用最新版本, 推荐GPU或高性能的CPU)
console-logging
python模块,可使用pip安装
numpy
, 强力推荐使用Python 3的发行版Anaconda
flask
,可使用pip安装
它是如何工作的
这可能是你看到的最简单的神经网络。我只是简单地实现了深度神经网络分类器,但我没有使用传统方法来处理数百个节点,而是将这些参数打乱,并将其带到了10-20-10的隐藏层。输入都是标准数字。
在GPA+SAT数据语料库中进行训练后,它可以预测录取情况。
训练
请参阅neuralnet文件夹中的README文件。你需要在目录中访问main.py。例如neuralnet/main.py .. args ..。组装一个数据集CSV文件。将1/3的内容剪切成另一个CSV文件,这个新文件是你的测试数据集。
将GPA和SAT分数设置的很高
我已经提供了我最初收集的CMU数据集来训练这个网络。更多关于命名数据集的信息在README文件中。
快速统计:Geforce 1060,6gb,150,000步长花费了四分钟,准确率为78.5%。
损失超过150,000步长的图表:
缩减损失超过15万步长(褪色的蓝线是交叉验证,没有过度拟合和更多训练的空间)
预测
为了便于使用,我使用Bootstrap 3设计了一个简单的GUI。python website.py,你需要使用Flack。
总之,它在某种程度上被证明是有用的,该项目的完整源代码可以在Github上获得。
Github地址:https://github.com/pshah123/ChanceyNN