- 博客(41)
- 收藏
- 关注
原创 SVC的模型评估指标
混淆矩阵混淆矩阵是二分类问题的多维衡量指标体系,在样本不平衡时极其有用。在混淆矩阵中,我们将少数类认为是正 例,多数类认为是负例。在决策树,随机森林这些普通的分类算法里,即是说少数类是1,多数类是0。在SVM里, 就是说少数类是1,多数类是-1。普通的混淆矩阵,一般使用{0,1}来表示。混淆矩阵中,永远是真实值在前,预测值在后。其实可以很容易看出,11和00的对角线就是全部预测正确的,01 和10的对角线就是全部预测错误的。模型整体效果:准确率准确率Accuracy就是所有预测正确的
2022-03-18 21:20:48
3496
原创 核函数在不同数据集上的表现
核函数在不同数据集的表现现在有一系列线性或非线性可分的数据,我们希望 通过绘制SVC在不同核函数下的决策边界并计算SVC在不同核函数下分类准确率来观察核函数的效用1. 导入所需要的库和模块import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.colors import ListedColormapfrom sklearn import svmfrom sklearn.datasets impor...
2022-03-17 12:46:53
303
原创 线性SVM决策过程的可视化
线性SVM决策过程的可视化1.导入需要的模块from sklearn.datasets import make_blobsfrom sklearn.svm import SVCimport matplotlib.pyplot as pltimport numpy as np2.实例化数据集,可视化数据集X,y = make_blobs(n_samples=50, centers=2, random_state=0,cluster_std=0.6)plt.scatter(X[:,0
2022-03-16 16:32:13
3122
原创 sklearn中KMeans重要参数n_clusters
KmeansKMeans算法将一组N个样本的特征矩阵X划分为K个无交集的簇,直观上来看是簇是一组一组聚集在一起的数 据,在一个簇中的数据就认为是同一类。簇就是聚类的结果表现。 簇中所有数据的均值 通常被称为这个簇的“质心”(centroids)。在一个二维平面中,一簇数据点的质心的 横坐标就是这一簇数据点的横坐标的均值,质心的纵坐标就是这一簇数据点的纵坐标的均值。同理可推广至高维空间。Kmeans顺序 过程 1 随机抽取K个样本作为最初的质心 2 开始循环 2.1
2022-03-15 20:15:14
2660
原创 案例用逻辑回归制作评分卡
模型开发流程获取数据→数据清洗,特征工程→模型开发→模型检验与评估→模型上线→检测与报告案例1.导库,获取数据%matplotlib inlineimport numpy as npimport pandas as pdfrom sklearn.linear_model import LogisticRegression as LRdata = pd.read_csv(r"D:\Sklearn\rankingcard.csv",index_col=0)2.探索数据与数据预处理
2022-03-14 14:29:43
2059
原创 逻辑回归L1和L2正则化
正则化正则化是用来防止模型过拟合的过程,常用的有L1正则化和L2正则化两种选项,分别通过在损失函数后加上参数向 量 的L1范式和L2范式的倍数来实现。这个增加的范式,被称为“正则项”,也被称为"惩罚项"。损失函数改变,基 于损失函数的最优化来求解的参数取值必然改变,我们以此来调节模型拟合的程度。L1范式表现为参数向量中 的每个参数的绝对值之和,L2范数表现为参数向量中的每个参数的平方和的开方值。重要参数penalty & C参数 说明 penalty...
2022-03-11 15:55:03
5486
原创 降维算法PCA和SVD
PCASVD和主成分分析PCA都属于矩阵分解算法中的入门算法,都是通过分解特征矩阵来进行降维,在降维中,PCA使用的信息量衡量指标,就是样本方差,又称可解释性方 差,方差越大,特征所带的信息量越多。重要参数n_componentsn_components是我们降维后需要的维度,即降维后需要保留的特征数量案例:高维数据可视化1.调用库和模块import matplotlib.pyplot as pltfrom sklearn.datasets imp...
2022-03-09 11:00:22
1896
1
原创 Sklearn中数据预处理
数据预处理Sklearn中的模块preprocessing:几乎包含数据预处理的所有内容数据无量纲化在机器学习算法实践中,我们往往有着将不同规格的数据转换到同一规格,或不同分布的数据转换到某个特定分布 的需求,这种需求统称为将数据“无量纲化”。数据的无量纲化可以是线性的,也可以是非线性的。线性的无量纲化包括中心化(Zero-centered或者Mean subtraction)处理和缩放处理(Scale)。中心化的本质是让所有记录减去一个固定值,即让数据样本数...
2022-03-05 13:53:16
5099
原创 随机森林与决策树效益对比
随机森林随机森林是非常具有代表性的Bagging集成算法,它的所有基评估器都是决策树,分类树组成的森林就叫做随机森林分类器,回归树所集成的森林就叫做随机森林回归器。重要参数1.控制基评估器的参数控制基评估器的参数 参数 含义 criterion 不纯度的衡量指标,有基尼系数和信息熵两种选择 max_depth 树的最大深度,超过最大深度的树枝都会被剪掉 min_samples_leaf 一个节点在分枝后的每个子节点都必须包含至少min_samples_l
2022-03-02 22:29:26
1556
1
原创 决策树在Sklearn中的实现
Sklearnscikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和 Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。决策树决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规 则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各 种问题时都有良好表现,尤其是以
2022-03-01 15:53:55
1564
原创 linux文件和目录命令
linux终端命令格式command [-options] [parameter]command :命令名,相应功能的英文单词或单词的缩写[-options] :选项,可用来对命令进行控制,也可以省略parameter :传给命令的参数,可以是 零个、一个 或者 多个目录常用命令查看目录内容ls ls是英文单词 list 的简写,其功能为列出目录的内容ls 常用选项-a 显示指定目录下所有子目录与文件,包括隐藏文件 -l 以列表方式显示文件的详细信息
2022-02-24 12:05:48
639
1
原创 mysql事务
事务一个事务是一个完整的业务逻辑单元,不可再分。比如:银行账户,从A账户向B账户转账10000元,需要执行两条update语句。 update t_act set balance = balance - 10000 where actno = 'act-001'; update t_act set balance = balance + 10000 where actno = 'act-002';以上两条DML语句必须同时成功,或者同时失败,不允许出现一条成...
2022-02-19 21:04:31
76
原创 mysql约束
约束常见的约束非空约束,not null唯一约束,unique 主键约束,primary key外键约束,foreign key自定义检查约束,check非空约束非空约束,针对某个字段设置其值不为空,如:学生的姓名不能为空student_name varchar(20) not null唯一约束唯一性约束修饰的字段具有唯一性,不能重复。但可以为null。如:emai...
2022-02-17 17:52:31
101
原创 mysql表的操作-创建添加删除修改
创建表建表语句的语法格式: create table 表名( 字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型, .... );MySql常用数据类型 类型 描述 Char(长度) 定长字符串,存储空间大小固定,适合作为主键或外键 Varchar(长度) ...
2022-02-16 17:46:03
274
原创 MySQL 连接查询和子查询
连接查询连接查询:也可以叫跨表查询,需要关联多个表进行查询连接查询分类根据语法出现的年代来划分的话,包括: SQL92 SQL99根据表的连接方式来划分,包括: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接(左连接) 右外连接(右连接) 全连接笛卡尔积现象:当两张表进行连...
2022-02-15 18:11:59
1328
原创 mysql 分组查询
分组查询分组查询主要涉及到两个子句,分别是:group by和havinggroup by取得每个工作岗位的工资合计,要求显示岗位名称和工资合计将原始数据按照职位部门和薪资分组原始数据分组后having如果想对分组数据再进行过滤需要使用having子句取得每个岗位的平均工资大于2000分组函数的执行顺序:1.根据条件查询数据2.分组3.采用having过滤,取得正确的数据select总结一个完整的select语句格式如下:...
2022-02-14 22:51:48
172
原创 Mysql查询
简单查询首选创建一个数据库并且导入所需sql文件查看表结构查询一个字段查询员工姓名Select语句后面跟的是字段名称,select是关键字,select和字段名称之间采用空格隔开,from表示将要查询的表,它和字段之间采用空格隔开查询多个字段查询员工的编号和姓名查询多个字段,select中的字段采用逗号间隔即可,最后一个字段,也就是在from前面的字段不能使用逗号了查询全部字段条件查询条件查询需要用到where语句,where必须放...
2022-02-14 15:49:42
368
原创 pandas时间序列应用
生成一段时间范围pd.date range(start=None, end=None, periods=None, freq='D')start和end以及freq配合能够生成start和end范围内以频率freq的一组时间索引start和periods以及freq配合能够生成从start开始的频率为freq的periods个时间索引# coding:utf-8import pandas as pd# 打印每天日期 D天 M月print(pd.date_range(start=.
2022-02-13 14:14:08
126
原创 pandas-series和dataframe
pandasPandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)Pandas 一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。Pandas 可以对各种数据进行运算操作,比如归并...
2022-02-11 21:42:46
1980
原创 numpy数组- 读取本地数据切片
numpy一个在Python中做科学计算的基础库,重在数值计算,也是大部分python科学计算库的基础库,多用于在大型、多维数组上执行数值运算.numpy数组创建一个数组# coding: utf-8import numpy as npt1 = np.arange(100, 124).reshape((4, 6)) #四行六列print(t1)常用操作reshape() 修改行列格式flatten() 转变为一维...
2022-02-11 13:00:35
929
原创 matplotlib绘制散点图-条形图-直方图
绘制散点图# coding:utf-8# 绘制散点图from matplotlib import pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文y_3 = [1, 12, 3, 4, 5, 6, 7, 8]y_1 = [21, 4, 9, 16, 7, 11, 23, 18]x_3 = [1, 4, 9, 16, 7, 11, 23, 18]x_1 = [2, 14, 19, 16, 7, 11,
2022-02-09 20:07:57
365
原创 Matplotlib绘制折线图
Matplotlib简介Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib 可以用来绘制各种静态,动态,交互式的图表。Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等安装anaconda清华镜像下载:Index of /...
2022-02-08 19:25:19
206
原创 python数据结构-二叉树
树的概念树(英语: tree)是一种抽象数据类型(ADT) 或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n (n>=1) 个有限节点组成一一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:●每个节点有零个或多个子节点;●没有父节点的节点称为根节点;●每一个非根节点有且只有一个父节点;●除了根节点外,每个子节点可以分为多个不相交的子树;树的相关概念节点的度:一个节点含...
2022-02-06 16:42:04
1527
原创 python数据结构-希尔快速归并排序
希尔排序希尔排序的基本思想是:将数组列在一一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身还是使用数组进行排序。实现# coding:utf-8def shell_sort(alist): """希尔排序""" n = len(alist) gap = n // 2 while gap > 0: # gap变...
2022-02-05 22:24:38
91
原创 python数据结构-冒泡选择插入排序算法
排序算法排序算法(英语: Sorting algorithm)是一-种能将一串 数据依照特定顺序进行排列的一种算法。排序算法稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果- - 个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。冒泡排序冒泡排序(英语: Bubbl...
2022-02-04 12:57:20
134
原创 python数据结构-顺序表
顺序表 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,这种表示也称作线性表的顺序存储结构或者顺序映像。通常,称这种存储结构的线性表为顺序表。其特点是,逻辑上相邻的数据元素,其物理次序也是相邻的。...
2022-01-29 13:16:56
2190
原创 python-列表字典内置操作时间复杂度
时间复杂度时间复杂度:假设存在函数g,使得算法A处理规模为n的问题示例所用时间为T(n)=O(g()),则称0(g(n)为算法A的渐近时间复杂度,简称时间复杂度,记为T(n)分析算法时,存在几种可能的考虑:1.算法完成工作最少需要多少基本操作,即最优时间复杂度2.算法完成工作最多需要多少基本操作,即最坏时间复杂度3.算法完成工作平均需要多少基本操作,即平均时间复杂度对于最优时间复杂度,其价值不大,因为它没有提供什么有用信息,其反映的只是最乐观最理想的情况,没有参考价值...
2022-01-27 23:18:18
1348
原创 python-模块和包
模块模块(module)对应于Python源代码文件(.py文件)。模块中可以定义变量、函数、类、普通语句。这样 ,我们可以将一个Python程序分解成多个模块,便于后期的重复应用。1. Python 程序由模块组成。-个模块对应python源文件,-般后缀名是 : .py。2.模块由语句组成。运行Python程序时,按照模块中语句的顺序依次执行。3.语句是Python程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。模块化编程流程模块化编程的一般流程:1.设计API
2022-01-26 12:08:23
781
原创 python_文件操作
文件操作相关模块概述名称 说明 io模块 文件流的输入和输出操作input output os模块 基本操作系统功能,包括文件操作 glob模块 查找符合特定规则的文件路径名 fnmatch模块 使用模式来匹配文件路径名 fileinput模块 处理多个输入文件 filecmp模块 用于文件的比较 cvs模块 用于csv文件处理 pickle和cPickle 用于序列化和反序列化 xml包 用于XML数据处理
2022-01-24 21:06:17
604
原创 python-异常
异常异常机制本质异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。python中- -切都是对象,异常也采用对象的方式来处理。处理过程:1.抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给解释器。2.捕获异常:解释器得到该异常后,寻找相应的代码来处理该异常...
2022-01-23 19:24:19
264
原创 python-封装继承多态
私有属性和方法(实现封装)Python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有属性和私有方法.有如下要点:1.通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。2.类内部可以访问私有属性(方法)3.类外部不能直接访问私有属性(方法)4.类外部可以通过”类名_私有属性(方法)名" 访问私有属性(方法)#测试私有属性、私有方法class Stud...
2022-01-23 12:27:01
2220
原创 python-面向对象_类_方法
面向对象编程面向对象( Object oriented Programming,OOP )编程的思想主要是针对大型软件设计而来的。面向对象编程使程序的扩展性更强、可读性更好,使的编程可以像搭积木一样简单。Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。Python中,一切皆对象。我们在前面学习的数据类型、函数等,都是对象。类和对象通过类定义数据类型的属性(...
2022-01-22 14:42:25
443
原创 python-变量-参数-递归函数
变量作用域(全局变量和局部变量)变量起作用的范围称为变量的作用域,不同作用域内同名变量之间互不影响。变量分为:全局变量、局部变量。全局变量1.在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始直到模块结束。2.全局变量降低了函数的通用性和可读性。应尽量避免全局变量的使用。3.全局变量一般做常量使用。4.函数内要改变全局变量的值,使用global声明一下局部变量1.在函数体中(包含...
2022-01-21 18:00:17
1081
原创 python-for循环-嵌套循环-函数
for循环和可迭代对象遍历for循环通常用于可迭代对象的遍历。for 循环的语法格式如下:for变量in 可迭代对象 :循环体语句[操作]遍历一个元组或列表for x in (20,30,40):print(x*3)可迭代对象Python包含以下几种可迭代对象:1.序列。包含:字符串、列表、元组2.字典3.迭代器对象( iterator )4.生成器函数( generator )5.文件对象range对象range对象是一个迭代器对象,用来产生指定
2022-01-20 22:47:03
12756
原创 python字典_集合_选择循环结构
1.字典字典定义字典是"键值对”的无序可变序列,字典中的每个元素都是-一个”键值对”, 包含: "键对象”和"值对象”。可以通过"键对象"实现快速获取、删除、更新对应的“值对象”。列表中我们通过“下标数字"找到对应的对象。字典中通过“键对象”找到对应的“值对象”。"键” 是任意的不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象,不能作为"键” 。并且"键” 不可重复。"值”可以是任意的数据,并且可重复。-个典型的字典的定义方式:a = {'name':'z
2022-01-19 22:37:51
518
原创 Python基础知识day2
1.链式赋值链式赋值用于同一个对象赋值给多个变量x=y=123 相当于:x=123:y=123系列解包赋值系列数据赋值给对应相同个数的变量(个数必须保持一致)>>>a,b,c=4,5,6 相当于:a=4;b=5:c=6常量python不支持常量,即没用语法规则限制改变一个常量的值。我们之能约定常量的命名规则,以及程序的逻辑上不对常量的值作出修改。>>>MAX_SPEED=120>>>print(MAX_SPEED)
2022-01-16 19:09:43
639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人