【项目】Github上的一个简单项目:用人工智能预测大学录取概率
每年有超过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
- 史上最清晰的红黑树讲解(上)
- C++之new/delete/malloc/free详解
- 验证 结构体指针与自增运算符
- Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失下篇
- ONOS1.3.0集群实验
- Spring Boot下的TDD(测试驱动开发)
- MySQL的索引是什么?怎么优化?
- C语言之函数
- ElasticSearch搜索引擎在SpringBoot中的实践
- 消费者驱动的微服务契约测试套件Spring Cloud Contract
- 使用Spring Boot开发一个Spring Mobile程序
- Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失
- 内网穿透工具-ittun
- Elastic-Job-Spring-Boot-Starter简化你的任务配置
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【收藏】万字解析Scipy的使用技巧!
- Python 如何使用 HttpRunner 做接口自动化测试
- Python 爬虫时,高版本 App 如何进行抓包?
- 使用 shell-operator 实现 Operator
- 我们是如何用 K8S 搞定1000个应用的测试环境
- 关于Python 3.9,那些你不知道的事
- urllib, urllib2, urllib3 都是小弟弟
- 使用 Kustomize 定制 Helm Chart
- 装逼篇 | 抖音超火的九宫格视频是如何生成的,Python 告诉你答案
- 最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)
- 6个提升效率的pandas小技巧
- 如何用 Python 让微博热搜榜动起来
- 如何用 Python 让微博热搜榜动起来
- 漫画:什么是 “抽象工厂模式” ?
- 5个很常用的CSS3网页小实例