机器学习之逻辑回归
分类问题
与回归问题
,是机器学习两大主要应用。
分类问题覆盖面很广泛:比如二元分类
,根据考试成绩推断是否被录取、根据消费记录判断信用卡是否可以申请,以及预测某天是否将发生地震等;有多元分类
,如消费群体的划分、个人信用的评级等;还有图像识别
、语音识别
等,在本质上也是很多个类别的分类问题。
本章讲的专用于分类的机器学习算法,叫逻辑回归(logistic regression)
,简称Logreg
。
分类问题
与回归问题
,是机器学习两大主要应用。
分类问题覆盖面很广泛:比如二元分类
,根据考试成绩推断是否被录取、根据消费记录判断信用卡是否可以申请,以及预测某天是否将发生地震等;有多元分类
,如消费群体的划分、个人信用的评级等;还有图像识别
、语音识别
等,在本质上也是很多个类别的分类问题。
本章讲的专用于分类的机器学习算法,叫逻辑回归(logistic regression)
,简称Logreg
。
MVC
, 全名 Model View Controller
, 是软件工程中的一种软件设计模式 (常用于架构层面),把软件系统分为三个基本部分:模型 (Model)
, 视图 (View)
和 控制器 (Controller)
。分层的好处很明显,把一团软件代码分成职责分明的层次,每一层有其专注的领域层与层之间也有明确的接口,实现上可以分层实现,哪层实现的不好重构之对整体也影响不大 。具有耦合性低,重用性高、生命周期成本低等优点。
MVC 最大的优点是实现了软件或网络应用开发过程中数据、业务逻辑和用户界面的分离,使软件开发更清晰,也是维护变得更容易。这与静态网页设计中使用 html 和 css 实现了内容和样式的分离是同一个道理。
而 Django
的 MVT
设计模式由 Model (模型) , View (视图) 和 Template (模板) 三部分组成,分别对应单个 app 目录下的 models.py
, views.py
和 templates
文件夹。它们看似与 MVC 设计模式不太一致,其实本质是相同的。MVT 模式其实是一种特殊的 MVC 模式的实现。
Django
是一个开放源代码的 Web 应用框架,由 Python
写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。
有趣的是,这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt
来命名的。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)
软件,并于 2005 年 7 月在 BSD 许可证下发布。所以使用了 Django 后我们会发现,其“集成管理后台”、“模板页面”等设计思想偏向于帮助人们快速实现一个 CMS
(毕竟其前身就是一个CMS,并从中抽象而得之)。
Django
的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以 “插件” 形式服务于整个框架,Django 有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得 Django 具有很强的可扩展性。它还强调快速开发和 DRY (Do Not Repeat Yourself)
原则。Django 框架的核心组件有:
也因为其良好的设计与简单、快速的特点,常用于快速构造中大型内部系统。
And Design Pro
(官网),我们一般也将之简称为 antd pro
,是Ant Design
的升级版。如果你接触过Ant Design(常简称之为 antd)
,antd 是基于Ant Design 设计体系的React UI 组件库,主要用于研发企业级中后台产品。
而 antd pro
则在其之上,增加了 umiJS
的扩展加成,提供了路由、国际化、权限管理等功能,从而成为一整套企业级的中后台前端解决方案,从 AntD 官网介绍可以看出:
Ant Design Pro 是基于 Ant Design 和 umi 的封装的一整套企业级中后台前端/设计解决方案,致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板/业务组件/配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。随着『设计者』的不断反馈,我们将持续迭代,逐步沉淀和总结出更多设计模式和相应的代码实现,阐述中后台产品模板/组件/业务场景的最佳实践,也十分期待你的参与和共建。
也就是说,And Design Pro
是不仅是一套前端开发框架,更是一整套的中后台前端解决方案,在力求提供开箱即用的开发体验,为此我们提供完整的脚手架,涉及国际化,权限,mock,数据流,网络请求等各个方面。为这些中后台中常见的方案提供了最佳实践来减少学习和开发成本。
本章我们会了解 antd pro
的大概,了解antd pro
是什么、目录结构大概,然后创建一个基础项目并运行之。
编码是将信息从一种新式或格式转变为另一种形式的过程,在计算机硬件中,编码就是利用代码来表示各组数据资料,使计算机能够读懂这行代码并对信息进行分析和处理。
统一代码规范,就是统一代码的组织方式,让团队以最优的、一致的方式及组织代码,从而减少额外的阅读代码的负担。
苏格拉底是古希腊著名的思想家、哲学家、教育家。他和他的学生柏拉图,以及柏拉图的学生亚里士多德并称为 “古希腊三贤”,被后人广泛地认为是西方哲学的奠基者。
而苏格拉底提出了著名的人生哲学终极三问:“我是谁、我从哪里来、我要到哪里去?”
为何这会被称为终极三问?因为这些问题表面上简单,其实很难回答上来。我是谁?很多时候你以为你知道你是谁,其它你只知道自己的标签。我是一个程序员、我是一名父亲、我是一名党员,那么终究到底除却这些标签后,你还是谁呢?你是从哪里来的,你要到哪里去?
技术也是一样的,我们常常只对一个技术留于表面,比如我们知道 面向对象编程
,那什么是 面向对象
,他的本质是什么,这个技术或机制是怎么设计出来的,为什么要这样设计,我们常常选择性忽略这些问题或满足于对其的一知半解。而 技术三问系列
就是这样的一个自醒的专题,我希望在这里记录下我对这门技术的认识,并要求自己不断地追求探索,企图了解更多其中的奥妙与真谛。
其中对于每一个技术点我都希望遵循这样的结构(下面的 XX 代表每章要讲的内容,有些摘录的文章会直接抄录原文的内容,注明是【转】的,并给出原文作者与地址):
贴近实际项目与产品
,尽量结合实际工作中的经验、工具、流程。