自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 决策树+随机森林算法

n种可能性,在不知道任何信息时,将信息砍半后进行选择,如有32支球队,判断拿纸球队会获胜时,首先选择16支获胜概率较大的球队,→8→4→2→1,共选择5次,因此信息熵为log32=5(默认以2为底)因为每次选择进行二选一。当这32支球队夺冠的几率相同时,对应的信息熵等于5比特信息和消除不确定性是相联系的决策树的划分依据之一-信息增益:特征A对训练数据集D的信息增益g(D,A),定义为集合D的信息熵H(D)与特征A给定条件下D。

2023-09-04 23:07:03 94

原创 贝叶斯算法+分类模型评估+模型选择与调优

precision ( 精确度):正确预测为正的,占全部预测为正的比例。weighted avg(加权平均值):所有标签结果的加权平均值。recall(召回率):正确预测为正的,占全部实际为正的比例。,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。f1-score (f1值):精确率和召回率的调和平均数。support (各分类样本的数量或测试集样本的总数量)。样本中预测结果为正例的比例(查的全,对正样本的区分能力)macro avg (宏平均值):所有标签结果的平均值。

2023-08-27 20:06:57 229

原创 K-近邻算法

③当特征值特别多时(大于100个特征时),需要进行特征的降维处理。7、对预测结果进行打分:knn.score(x_test,y_test),确定模型的精确度,至少70%才能用。②重要特征的筛选,筛选需要的重要的,不需要的删除。2、特征处理:①构造新的特征(例如时间戳转换为时间:星期、月份、小时等)6、预测测试集的特征结果:knn.predict(x_test)5、构造模型:将训练集的数据输入算法中。懒惰算法,对测试样本分类时的计算量大,内存开销大。案例:在整体算法过程中需要进行的一些步骤。

2023-08-22 23:12:22 52

原创 数据集的划分以及估计器的使用

调用fit,对训练集进行学习,构造模型,然后将测试集数据输入模型,用predict进行预测,最后将得出的结果与实际结果进行比对,通过score来给模型的正确性进行打分。,因此使用该公式时需注意,当x1=x2时无影响,当x1!=x2时要注意,可能会出现偏差,但是fit_transform仅传入一个数据,因此不会出现问题。transform中的x2数据会根据x1数据的平均值和方差进行数据的标准化转换。训练集的“训练”,测试集的“测试”,两者的“全部”训练集特征值,测试集特征值,训练标签,测试标签。

2023-08-21 20:58:26 70

原创 机器学习开发流程

,可以由输入数据中学到或建立一个模型,并依此模式推测新的结果。),可以由输入数据中学到或建立一个模型,并依此模式推测新的结果。当输出变量取有限个离散值时,预测问题变成为分类问题。回归是监督学习的另一个重要问题。回归用于预测输入变量和输出变量之间的关系,近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络。大部分复杂模型的算法设计都是算法工程师在做,而我们。掌握算法基本思想,学会对问题用相应的算法解决。分类是监督学习的一个核心问题,在监督学习中,函数的输出可以是一个连续的值(称为回归)

2023-08-20 21:44:30 24

原创 特征工程之特征的降维处理

VarianceThreshold(threshold = 0.0):删除所有低方差特征,threshold后面可以写任意浮点数,代表选择特征值中方差小于该值的特征。很多时候,数据的特征繁杂,且很多是无用的,因此需要对特征进行降维处理,也就是将没用的特征删除掉,采用特征选择或PCA。,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征。

2023-08-20 21:35:53 104

原创 文本+数据的特征值处理 缺失值处理

CountVectorizer :对英文形式下的字符串进行词频统计,输出sparse矩阵,但是在该函数中没有sparse参数,需要使用 *.toarray()方法,将矩阵转换为数组。TfidfVectorizer :对字符串中出现的词语进行概率的统计,输出概率矩阵。DictVectorizer :对字典或者包含字典的迭代器进行数据的特征值处理,处理成sparse矩阵,当其其中的参数。找出对应文章中的关键词,好进行分类,但是需注意,单个字母不进行统计(单个不成词的文字也不进行统计)。文本字符串的可迭代对象。

2023-08-16 23:15:51 74

原创 linux应知应会

vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。vi没有菜单,只有命令,且命令繁多。Vi有三种基本工作模式:+ 命令模式+ 文本输入模式+ 末行模式。

2023-08-06 21:24:19 43

原创 pandas用户画像分析

详见附件。

2023-07-30 20:45:07 23

原创 美国政治献金大选作业

详见附件。

2023-07-30 02:37:27 28 1

原创 人口数据分析

详见附件。

2023-07-30 01:29:49 24 1

原创 pandas时间序列复习

同时返回某一列的中位数、平均值,最小值,使用agg进行聚合操作drinks.groupby('continent').spirit_servings.agg(['median','mean','min'])apple.resample('BM').apply(fin)#对apple进行月最后一天工作日采样后返回每月的最后一个日期,apply是利用函数对前面的对象进行应用。print('/n>>>', df['国内生产总值'].idxmax(), '/n', df['国内生产总值'].idxmin())

2023-07-29 22:08:43 81 1

原创 pandas分类聚合+时间序列

test1=pd.date_range(start = '20210118',end = '20230630',periods=None,freq='M')#periods和freq不要共存,容易报错。df2=data_911.resample('M')['title'].count()#利用时间行索引将采样变为以月为单位,相当于降频,也就是分类统计。pd.set_option('display.max_columns',None)#显示所有列。'''把时间字符转化为时间序列'''

2023-07-26 20:16:02 85 1

原创 pandas数据合并拆分及聚合

使用groupby分组后的方法df.groupby().count()

2023-07-24 23:06:42 147

原创 pandasd的基础用法

一个数组构成对象的键(index,索引),一个数组构成对象的值,键→值。pandas的字符串方法:df.str.len()#使用方法。

2023-07-23 22:42:16 39 1

原创 numpy常用内容

2、创建一个全为0的数组:np.zeros((3,4))3、创建一个全为1的数组:np.ones((3,4))'''1、获取最大值和最小值的位置。,他们两个的数据变化是一致。

2023-07-23 00:03:26 23 1

原创 散点图、直方图、柱形图的绘制

一段时间内用户点击次数的分布状态。方法的的是那些没有统计过的数据。应该选择那种图形来呈现数据。观察数据的离散聚合程度。用户活跃时间的分布状态。绘图的大小和保存图片。

2023-07-22 13:07:17 32 1

原创 matplolib折线图绘制

【代码】matplolib折线图绘制。

2023-07-18 23:17:55 21 1

原创 模块导入及包

导入包的本质其实是“导入了包的__init__.py”文件。这样,可以在__init__.py 中批量导入我们需要的模块,而不再需要一个个导入。如果进行类比的话,import 导入的是“文件”,我们要使用该“文件”下的内容,必须前面加“文件名称”。from...import 导入的是文件下的“内容”,我们直接使用这些“内容”即可,前面再也不需要加“文件名称”了。3. 导入包实质是执行__init__.py 文件,可以在__init__.py 文件中做这个包的初始化、以及需要统一执行代码、批量导入。

2023-07-17 19:54:41 29 1

原创 文件相关处理

文件的分类:1、文本文件:用记事本打开的才是文本文档,也就是*.txt2、二进制文件:word,jpg,gif等就是二进制文件用于文件操作的相关模块创建文件对象open()open()函数用于创建文件对象,基本语法格式如下:open(文件名[,打开方式])如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:D:\a\b.txt。为了减少“\”的输入,可以使用原始字符串:r“d:\b.txt”。

2023-07-16 00:49:40 18 1

原创 异常和错误

try......except :用于在用户输入错误不符合要求的内容时给出处理方式,也就是对应的返回值,一方面不需要人工设置判断语句去返回对应结果,另一方面简化了语句,还不影响程序的执行python 中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。

2023-07-15 00:32:05 20 1

原创 类的继承和设计模式

Python 是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。继承:语法格式Python 支持多重继承,一个子类可以继承多个父类。继承的语法格式如下:class 子类类名(父类1[,父类2,...]):类体如果在类定义中没有指定父类,则默认父类是object 类。也就是说,object 是所有类的父类,里面定义了一些所有类共有的默认实现,比如:__new__()。print(self.name,"的年龄是:",self.__age)

2023-07-13 23:25:55 62 1

原创 函数+类——call

嵌套函数:在函数内部定义的函数def f1():def f2():f2()f1()注:须在f1内部调用函数f2,外部无法调用一般在什么情况下使用嵌套函数?1. 封装- 数据隐藏外部无法访问“嵌套函数”。2. 贯彻DRY(Don’t Repeat Yourself) 原则嵌套函数,可以让我们在函数内部避免重复代码。3. 闭包后面会详细讲解。

2023-07-11 19:51:53 25

原创 函数参数注意事项及递归

强制命名参数:当可变参数放置在函数所有参数首位,必须指定哪些值是赋值给其他参数的,方法:(a=30,b=60),其他值默认全部赋值给可变参数,否则报错。递归函数指的是:自己调用自己的函数,在函数体内部直接或间接的自己调用自己。lambda 函数是一种简单的、在同一行中定义函数的方法。f3(8,9,20,30,name='gaoqi',age=18)#20,30形成元组赋值给c,name、age形成字典赋值给d。命名参数:我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”。

2023-07-09 15:05:19 60 1

原创 循环+函数

while 循环的语法格式如下:while 条件表达式:循环体语句#利用while循环打印从0-10的数字num=0num +=1'''利用while 循环,计算1-100 之间数字的累加和;计算1-100 之间偶数的累加和,计算1-100 之间奇数的累加和'''num=1sum_num=0oddsum=0jisum=0else:jisum+=numnum+=1。

2023-07-09 01:26:21 118 1

原创 学习笔记第四天——字典

字典的创建:1、dic={'姓名':'高崎','年龄':19}dic=dict('姓名'='高崎','年龄'=19)dic=dict([('姓名','高崎'),('年龄',19)])3、通过zip创建字典对象k=['姓名','年龄']v=['高崎',19]4、通过fromkeys创建值为空的字典dic=dict.fromkeys(['姓名','年龄'])print(dic)dic['姓名']:字典通过键对值进行访问。

2023-07-08 19:24:29 41 1

原创 第三天学习笔记

可变字符串:io模块import iosio.seek(6)#定位到sio字符串的第六个位置sio.write('q')#改变索引6所在字符的字母sio.getvalue()#得到sio的值如果不用getvalue()用print会得到sio的id序列:列表列表的创建:1、a=[] 2、a=list(range(10))range(start,end,step):创建整数列表,开始值和步长值可省略,默认从0开始步长为1。

2023-07-06 21:35:52 21 1

原创 第二天笔记

字符串的分割:split():a.split('be') 将字符串a进行分割,默认be为分割点,如果不写,默认为换行符或空格等进行分割。a.center(10,'*'):将字符串a扩大为10个字符,a中的字符居中排列,不足的部分用*填充,可不写‘*’,默认用空格填充。a.replace('要被替换的字符',‘新的字符’)利用该方法将a字符串中的某个字符替换为新的字符,将生成一个新的字符串,a.ljust(10,'*'):将字符串a扩大为10个字符,a的字符靠左排列,右边用*填充。

2023-07-05 22:56:52 12

原创 绘制海龟图

import turtleturtle.pensize(8)turtle.color(‘blue’)turtle.circle(50)turtle.penup()turtle.color(‘yellow’)turtle.goto(120,0)turtle.pendown()turtle.circle(50)turtle.penup()turtle.color(‘black’)turtle.goto(240,0)turtle.pendown()turtle.circle(50)tu

2023-07-04 23:16:59 42

特征工程之特征的降维处理

特征工程之特征的降维处理

2023-08-20

pandas用户画像分析

pandas用户画像分析

2023-07-30

美国政治献金大选作业相关代码

美国政治献金大选作业相关代码

2023-07-30

人口数据分析的相关代码实现

人口数据分析的相关代码实现

2023-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除