软件设计师-第四章 数据库基础
第四章 数据库基础 1. 基本概念 1.1 数据库与数据库管理系统(DBMS) 数据库系统(DBS):从广义上讲是由数据库、硬件、软件和人员组成的,其中管理的对象是数据. 数据库管理系统(DBMS):数据定义,数据库操作,数据库运行管理,数据组织、存储和管理,数据库的建立和维护 1.2 DBMS 的特征与分类 DBMS 的特征:数据结构化且统一管理、有较高的数据独立性、数据控制功能 DBMS 的分类:关系数据库系统(RDBS)、面向对象的数据库系统(OOBS)、对象关系数据库系统(ORDBS) 2. 数据模型 基本数据模型。它是按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现。 基本 的数据模型有层次模型、网状模型、关系模型和面向对象模型(OOM) 2.1 数据模型的三要素 数据模型是用来描述数据的一组概念和定义。数据模型的三要素是数据结构、数据操作、数据的约束条件。 数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。 数据操作:是对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及操作规则。数据操作是...
软件设计师-第三章 程序语言设计
第三章 程序设计语言 1. 基本概念 解释器: 解释程序不生成可执行文件,可以遂条解释执行,用于调试模式,可以控制源程序,因为还需要控制程 序,因此执行速度慢,效率低。 编译器: 编译程序生成独立的可执行文件,直接运行,运行时无法控制源程序,效率高。 许多程序设计语言规定,程序中的数据必须具有类型,其作用是: 便于为数据合理分配存储单元 便于对参与表达式计算的数据对象进行检查 便于规定数据对象的取值范围及能够进行的运算 各程序设计语言特点: Fortran语言(科学计算,执行效率高) Pascal语言(为教学而开发的,表达能力强,Delphi) C语言(指针操作能力强,高效) Lisp语言(函数式程序语言,符号处理,人工智能) C++语言(面向对象,高效) Java语言(面向对象,中间代码,跨平台) C#语言(面向对象,中间代码,.Net) Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统) 2....
软件设计师-第二章 操作系统
## 软件设计师-第二章 操作系统 1. 操作系统概述 计算机系统由两部分组成:硬件,软件,通常把未配置软件的计算机称为裸机。 操作系统的作用: 通过资源管理提高计算机系统的效率 改善人机界面向用户提供友好的工作环境 操作系统的特征:并发性、共享性、虚拟性、不确定性 操作系统的功能:进程管理、存储管理、文件管理、设备管理、作业管理 操作系统的分类: 批处理操作系统 分时操作系统(轮流使用CPU工作片) 实时操作系统(快速响应) 网络操作系统 分布式操作系统(物理分散的计算机互联系统) 微机操作系统(Windows) 嵌入式操作系统 操作系统在计算机系统中的地位: 计算机启动的基本流程为:BIOS——>主引导记录——>操作系统 2. 程序与进程 程序顺序执行时的主要特征包括:顺序性、封闭性和可再现性。 程序并发执行时的主要特征包括:失去了程序的封闭性、程序和机器的执行程序的活动不再一一对应、并发程序之间的相互制约性。 3....
软件设计师-第一章 计算机系统
软件设计师-第一章 计算机系统 1. 计算机系统基础知识 1.1 计算机系统硬件基本组成 计算器的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备的5大部件组成。 1.2...
较大分组的位置
较大分组的位置 在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。 例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。 分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 “xxxx” 分组用区间表示为 [3,6] 。 我们称所有包含大于或等于三个连续字符的分组为 较大分组 。 找到每一个 较大分组 的区间,按起始位置下标递增顺序排序后,返回结果。 示例 1: 输入:s = “abbxxxxzzy” 输出:[[3,6]] 解释:“xxxx” 是一个起始于 3 且终止于 6 的较大分组。 示例 2: 输入:s = “abc” 输出:[] 解释:“a”,“b” 和 “c” 均不是符合要求的较大分组。 示例 3: 输入:s = “abcdddeeeeaabbbcd” 输出:[[3,5],[6,9],[12,14]] 解释:较大分组为 “ddd”, “eeee” 和 “bbb” 示例...
Mongodb4.2.0 副本集 + 分片 + 自动运维脚本
MongoDB4.2.0分片+副本集集群搭建 现根据需求在平台搭建一个有16台主机的MongoDB集群,主要以下关键点: 根据最新版本MongoDB推荐,配置文件采用yaml方式来配置 一共16台服务器,即16个节点。对数据集进行分片,共分8个shard,3个config节点,5个路由节点 环境准备 服务器规划: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647CentOS Linux release 7.6.1810MongoDB 4.2.0mongodb-linux-x86_64-4.2.0.tgz 二进制包shard分片主机: shard1: IP:cache05:27001(主) IP:cache06:27001(备) IP:cache08:27001(仲) shard2: IP:cache07:27002(主) IP:cache08:27002(备) ...
机器学习之特征工程-特征选择
特征选取(Feature Selection)技术的目标是找到原始数据维度中的一个有用的子集,再运用一些有效的算法,实现数据的聚类、分类以及检索等任务。 根据特征选择的形式又可以将特征选择方法分为3种: Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。 Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。 Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。 特征选择主要有两个目的: 减少特征数量、降维,使模型泛化能力更强,减少过拟合; 增强对特征和特征值之间的理解 1、特征选择 (feature_selection) 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程 1. 1 移除低方差的特征 (Removing features with low...
机器学习之特征工程-特征预处理(标准化/归一化)
通常,在Data Science中,预处理数据有一个很关键的步骤就是数据的标准化。 一、标准化/归一化的好处 1.1 提升模型精度 在机器学习算法的目标函数(例如SVM的RBF内核或线性模型的l1和l2正则化),许多学习算法中目标函数的基础都是假设所有的特征都是零均值并且具有同一阶数上的方差。如果某个特征的方差比其他特征大几个数量级,那么它就会在学习算法中占据主导位置,导致学习器并不能像我们说期望的那样,从其他特征中学习。 举一个简单的例子,在KNN中,我们需要计算待分类点与所有实例点的距离。假设每个实例点(instance)由n个features构成。如果我们选用的距离度量为欧式距离,如果数据预先没有经过归一化,那么那些绝对值大的features在欧式距离计算的时候起了决定性作用,soga。 从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。 1.2...
机器学习之特征工程-特征抽取
1、特征提取 1.1包括将任意数据(如文本或图像)转换为可用于机器学习的数字特征 注:特征值化是为了计算机更好的去理解数据 字典特征提取(特征离散化) 文本特征提取 图像特征提取(深度学习将介绍) 2、字典特征提取 作用:对字典数据进行特征值化将其转换为One-hot编码。 类:sklearn.feature_extraction.DicVectorizer sklearn.feature_extraction.DictVectorizer(sparse=True,…) DictVectorizer.fit_transform(X) X:字典或者包含字典的迭代器返回值:返回sparse矩阵 DictVectorizer.inverse_transform(X) X:array数组或者sparse矩阵 返回值:转换之前数据格式 DictVectorizer.get_feature_names() 返回类别名称 2.1代码 数据: [{‘city’: ‘北京’,‘temperature’:100} {‘city’: ‘上海’,‘temperature’:60}...
机器学习之特征工程-特征工程介绍
1、为什么需要特征工程(Feature Engineering) 机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ”...