版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据挖掘工具《数据挖掘与财务决策》目录2.1数据挖掘工具介绍
2.2
Python程序基础2.3
scikit-learn2.1数据挖掘工具介绍2.1.1PYTHON2.1.2R语言2.1.3WekePython是目前最为流行的编程语言之一,它有丰富的数据挖掘库和工具包,提供了强大的数据处理和分析能力。Python是由GuidovanRossum于1989年在荷兰国家数学和计算机研究所设计出来的,第一个公开发行版发行于1991年。Python源代码遵循GPL(GNUGeneralPublicLicense)协议,它最新的版本是3.13,该版本于2024年10月7日正式发布。Python是一门面向对象的、解释性的脚本语言,同时也是一门简约、通俗易懂的编程语言。Python标准库很庞大,它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库等。除了标准库之前,Python还可以下载安装第三方库。2.1.1PYTHON
R是统计领域广泛使用的一个工具,也是S语言的一个分支与实现,它的开发参考了S语言的设计理念,特别是在处理数据框、向量化运算和函数式编程方面。R语言的发展历史可以追溯到1990年代初,由新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发。至今,R语言仍然是数据分析和统计计算的领先语言之一,广泛应用于数据科学、机器学习和数据挖掘等领域。2.1.2R语言R是一套完整的数据处理、计算和制图软件系统。R语言的功能非常丰富,主要包括以下几个方面:1.数据分析2.数据可视化3.机器学习4.生物统计和生物信息学5.金融量化分析6.交互式Web应用2.1.2R语言2.1.3WekeWeka(WaikatoEnvironmentforKnowledgeAnalysis,Weka)是一款免费的、非商业化、基于JAVA环境下开源的机器学习(machinelearning)以及数据挖掘(datamining)软件。作为一个公开的数据挖掘工作平台,Weka集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联规则以及在新的交互式界面上的可视化。Weka主要功能如下:集成多种算法2.数据预处理和特征选择3.友好的界面及交互式操作4.可扩展性2.2PYTHON程序基础2.2.1基本语法结构2.2.2数据类型2.2.3条件语句2.2.4循环语句2.2.5Numpy数值计算基础2.2.6Panda统计分析基础2.2.1基本语法结构1).输出函数print()函数print()的语法如下:print(value,···,sep=’’,,end=’\n’,flush=false)其中,参数sep前面的一个或多个参数是要输出的值,参数sep用于指定分隔符,参数end用于指定结束符,参数flush=True时表示直接输出而不缓存。以下是几个print函数的例子。[例]输出函数的使用。print(3,5,8,sep=’:’);此代码输出:3:5:8print(3,5,8,sep=’,’);此代码输出:3,5,8print(’这是一个python程序。’)输出:这是一个python程序2.2.1基本语法结构2).输入函数input()Python的输入函数input()用于接收用户的键盘收入,语法格式:X=input(‘此处输入想输入的数据’)[例]输入函数的使用。X=input(‘请输入X:’)此代码输出:请输入X:从键盘输入:5print(type(X))#返回X的数据类型此代码输出:<class’str’>2.2.1基本语法结构3).Python标识符标示符就是一个名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python的标识符由字母、数字、下划线组成,也可以是汉字。标识符中的第一个字符不能是数字,并且严格区分大小写字母,标识符也不能和关键字相同。Python的常用关键字如2-1所示。andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswithexceptlambdayield表2-1Python的常用关键字2.2.1基本语法结构4).行和缩进Python语言与其他语言最大的差别,是它不使用大括号{}来定义函数、类及其他逻辑判断,而是使用缩进来编写模块。缩进的空白长度是可变的,但是所有代码块语句必须包含相同的缩进空白数量。例如,以下代码在执行时会出现错误:ifTrueprint(‘Itistrue’)else:print(‘Itisfalse’)#以上代码将会执行错误,因为没有缩进。
2.2.1基本语法结构5).运算符运算符含义+加-减*乘/除//整除%取余数**幂运算表2-2Python中常用的算术预算符运算符含义==比较两个对象是否相等!=比较两个对象是否不相等>
大于比较符<
小于比较符>=大于等于<=小于等于表2-3Python中常用的比较预算符2.2.1基本语法结构5).运算符运算符含义实例=基本的赋值运算符z=x+y:将x+y的运算结果赋值给z+=加法赋值运算符z+=x:等效于z=z+x-=减法赋值运算符z-=x:等效于z=z-x*=乘法赋值运算符z*=x:等效于z=z*x/=除法赋值运算符z/=x:等效于z=z/x%=取值赋值运算符z%=x:等效于z=z%x**=幂负值运算符z**=x:等效于z=z**x//=取整除赋值运算符z//=x:等效于z=z//x表2-4Python中常用的赋值预算符2.2.1基本语法结构6)Python注释在Python程序代码时,为了方便编程者或者他人更快的理解程序,提高工作效率,通常会在某些代码后面加上解释语句,这些解释语句称为注释。注释在执行代码时会被忽略,不会做任何处理。在Python中,注释以#开头。#这是我的第一个Python程序>>>Print(“Hello,World!”)此代码输出:Hello,World!当需要写多行注释时,可以使用三个单引号(''')或三个双引号(""")。2.2.2数据类型常用的五种标准数据类型包括:Number(数值)、String(字符串)、List(列表)、Tuple(元组)和Dictionary(字典)。1).Number(数值)数值数据类型主要用于存储数值,当定义一个数值时,一个Number类型的对象就自动被创建。Python包含4种数值类型:int(有符号整型)、long(长整型)、float(浮点型)和complex(复数)。长整型类型的数据建议在数据后面加上大写字母L,以便于和int类型区分。长整型类型也只存在于Python2.X的版本中,在2.2以后的版本中,int类型数据溢出后自动转为long类型。2.2.2数据类型2).字符串字符串是由数字、字母、下划线组成的一串字符,在Python中主要用于表示文本类型的数据,也是最常用的数据类型。字符串属于不可变序列,可以用单引号、双引号或三引号进行界定。转义字符含义转义字符含义\n换行符\”双引号\t制表符\\一个\\r回车\ooo1~3位八进制数对应的字符\’单引号\xhh2位十六进数对应的字符\uhhhh4位十六进制数对应的字符\Uxxxxxxxx8位十六进制数对应的字符表2-6Python中常用的转义字符2.2.2数据类型3).列表列表是Python内置的可变有序序列,也是最常用的Python数据类型。在形式上,列表的所有元素放在一对方括号中,相邻的元素使用逗号分隔开来。列表中的元素不需要具有相同的数据类型,可以同时包含整数、字符串、浮点数等基本数据类型的数据,也可以是列表、字典或其他自定义类型的对象。下面是几个列表的实例:List1=[’ab’,123,2002,’china’]List2=[1,3,5,7,9]List3=[’A’,’B’,’C’,’D’,]List4=[[’A’,7],[’b’,7,9]]2.2.2数据类型3).列表列表元素的动态增加和删除是经常遇到的操作。增加列表元素,可以使用+运算符或append()方法、insert()方法。[例2-4]列表中append()的使用。List1=[3,4,5]List1=List1+[7]List2=list1.append(9)print(List1)print(List2)
以上实例输出结果为:[3,4,5,7][3,4,5,9][例2-5]列表中pop()的使用。List1=[3,5,7,9,11]List2=[1,2,3,4,5]delList1[1]print(List1)list2.pop(2)print(List2)
以上实例输出结果为:[3,7,9,11][1,2,4,5]2.2.2数据类型4)元组元组(tuple)是一种不可变的数据结构,主要用于存储固定长度的元素序列。元组使用圆括号“()”界定,元素之间用逗号分隔。运算符或函数实例结果及描述lenlen((1,3,5,7))结果为4:计算元素个数+(1,3,5)+(6,7)结果为(1,3,5,6,7):将两个元组连接*(’a’,)*3结果为(’a’,’a’,’a’):将元组内的元素复制in5in(1,3,5,7)结果为True:判断元素是否存在于元组中tuple(seq)Tuple([’a’,’b’,’c’])结果为(’a’,’b’,’c’):将列表转换为元组表2-7元组常用的运算符及函数2.2.2数据类型5)字典字典是一种数据类型,用于存储键值对。字典由多个键和其对应的值构成的键-值对组成,键和值中间以冒号:隔开。每一对键值对之间以逗号隔开,整个字典由大括号{}括起来。字典中的键必须是唯一的,但值不必要唯一,可以是任何数据类型。字典是无序的,这意味着它们不记住元素添加的顺序。[例2-6]字典使用实例。dict1={’费用1’:600,’费用2’:300,’费用3’:500}dict2={’费用1’:600,’费用2’:300,’费用2’:500}print(dict1)print(dict2)以上实例的输出结果为:{’费用1’:600,’费用2’:300,’费用3’:500}{’费用1’:600,’费用2’:500}2.2.2数据类型5)字典操作符含义实例计算结果dict[key]访问字典的值D[’费用1’]600dict[key]=修改字典的值D[’费用2’]=500{’费用1’:600,’费用2’:500,’费用3’:500}dict[key]=添加键值对D[’费用4’]=200{’费用1’:600,’费用2’:300,’费用3’:500,’费用4’:200}deldict[key]删除键值对delD[’费用3’]{’费用1’:600,’费用2’:300}deldict删除字典delD字典D不再存在,也无法引用dict.keys()返回所有键D.keys()[’费用1’,’费用2’,’费用3’]dict.values()返回所有值D.values()[600,300,500]表2-8常用的字典操作2.2.3条件语句1).单分支条件结构单分支结构是最简单的一种条件选择语句,其语法格式如下。条件后面的冒号是不可缺少的,它表示语句块的开始。if条件:
语句块1
该语法表示当条件为真时,则执行语句块1。[例2-7]
单分支条件结构的使用。income=float(input(‘请输入您的收入:’))ifincome>=5000:print(‘您的收入为中高收入!’)
当输入6000时,运行结果为:请输入您的收入:6000您的收入为中高收入!当输入4000时,运行结果为:请输入您的收入:4000#此时不执行print(‘您的收入为中高收入!’)2.2.3条件语句2).双分支条件结构双分支条件结构的语法格式如下:if条件:
语句块1else:
语句块2该语法表示当条件成立或为真时,执行语句块1,否则就执行语句块2。[例2-8]
双分支条件结构的使用。income=float(input(‘请输入您的收入:’))ifincome>=5000:print(‘您的收入为中高收入!’)else:print(‘您的收入为低收入!’)当输入4000时,运行结果为:请输入您的收入:4000您的收入为低收入!2.2.4循环语句Python提供了两种基本的循环结构:while循环和for循环。1).while循环语句While循环语句的语法格式如下:while判断条件
:
循环体循环体可以是单个语句或语句块。判断条件可以是任何表达式,任何非零或非空的值均为true。当判断条件为真时,执行循环体;当判断条件为假时,循环结束。[例2-10]
while循环。i=0#初始化一个变量,该变量用作循环的判断条件whilei<=4:#判断条件,用来控制循序执行的条件print(i)i+=1;#更新变量的值上述代码的作用是:初始化一个变量i=0,用while语句进行条件判断i是否小于等于5,如果条件满足,执行一次循环,既:执行缩进的语句块,然后利用表达式i+=1更新i的值,继续返回while条件判断。如此循环,直到变量i增加到5时,不再满足while条件,退出循环。以上代码输出:0,1,2,3,4。2.2.4循环语句Python提供了两种基本的循环结构:while循环和for循环。2).for循环For循环是通过遍历可迭代对象的每一个元素来实现循环的。所谓遍历就是沿着某一路线进行搜索,对路线中的每一个节点都进行一次访问。For循环遍历就是一次把一个可迭代对象中的每个元素遍历出来,分别进行操作。语法格式如下:for循环变量in可迭代对象
:
循环体[例2-11]
for循环,计算1-50之间的整数之和。sum=0#初始化一个变量sum,该变量用于求和foriinrange(1,51):sum=sum+iprint(sum)#输出1-50之间的整数之和2.2.4循环语句Python提供了两种基本的循环结构:while循环和for循环。3).嵌套循环
嵌套循环指的是在一个循环内部嵌套另一个或多个循序,用于处理复杂的迭代逻辑。外层循环用于控制整体的迭代流程,内层循环负责处于更细致的迭代任务。
在for循环体内可以嵌入for循环体也可以嵌入while循环体。同理,在while循环体内可以嵌入while循环体也可以嵌入for循环体。[例2-13]使用嵌套循环打印乘法表。foriinrange(1,10):forjinrange(1,10):print(f’{i*j:2}’,end=’’)print()2.2.4循环语句4).break和continue语句Python使用break语句和continue语句终止循环。break语句用来结束整个循环,无论break所在的循环序列是否完全被递归或遍历完,循环语句都被停止执行,它可以用在while和for循环中。但如果使用嵌套循环,break语句将停止最深层的循环,外层循环还会继续执行。Continue语句用于跳出本次循环,既本次循环剩余的语句不再执行,但下一轮循环会继续执行。2.2.5Numpy数值计算基础NumPy提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库,它专为进行严格的数字处理而产生。目前很多大型金融公司以及一些核心的科学计算组织都使用NumPy进行数值计算。1)Numpy创建数组使用NumPy创建数组时,需要先引入numpy库,再使用array()生成数组。[例2-17]NumPy创建数组示例。importnumpyasnp#引入numpy库,将该库的别名设置为np,也可以设置为其他的别名a=np.array([[1,2,3,4],[5,6,7,8]])b=np.array([1,2,3,4,5])print(a)print(b)运行结果为:[[1,2,3,4][5,6,7,8]][1,2,3,4,5]2.2.5Numpy数值计算基础2)Numpy数组运算Numpy提供很多运算符号与函数,提供了丰富的计算功能。以a=np.array([1,2,3]),b=np.array([2,4,6]),c=np.array([[1,2,3],[4,5,6],[7,8,9]])为例,表2-9演示了Numpy常用的运算符与函数:运算符或函数含义实例*乘法运算符a*2:结果为([2,4,6]);a*b:结果为([2,8,18]);T数组转置c.T:结果为[[1,2,3][4,5,6][7,8,9]]dot()点积dot(a,b):结果为28average()求均值np.average(c,axis=0):按列求均值,结果为array([4,5,6]);np.average(c,axis=1):按行求均值,结果为array([2,5,8]);std()标准差
var()方差
max()求最大值np.max(c):默认求所有元素的最大值,np.max(c)结果为9;np.max(c,axis=1):求每行的最大值,np.max(c,axis=1)结果为array([3,6,9]);sort()排序np.sort(c,axix=0):结果为array([[1,2,3],[4,5,6],[7,8,9]])shape改变数组形状a.shape=3,1:将数组a改成3行1列,结果为array([[1][2][3]])表2-9Numpy常用的运算符与函数2.2.5Numpy数值计算基础3)Numpy矩阵运算Numpy也提供了矩阵运算的函数,可以进行大量的矩阵计算。这里以a_mat=np.matrix([[3,5,7]]),b_mat=np.matrix([[1,2,3]]),d_mat=np.matrix([[1,2,3],[4,5,6],[7,8,9]])为例,在表2-10里列出了常用的矩阵计算函数。函数含义实例diagonal()求矩阵的对角线元素d_mat.diagonal():计算结果为matrix([[1,5,9]])flatten()矩阵平铺d_mat.flatten():计算结果为matrix([[1,2,3,4,5,6,7,8,9]])linalg.eig()求矩阵的特征值与特征向量np.linalg.eig(d_mat):特征值为[1.61168440e+01,-1.11684397e+00,-1.30367773e-15]),特征向量为:matrix([[-0.23197069,-0.78583024,0.40824829],[-0.52532209,-0.08675134,-0.81649658],[-0.8186735,0.61232756,0.40824829]])linalg.inv()计算逆矩阵np.linalg.inv(d_mat):matrix([[-4.50359963e+159.00719925e+15-4.50359963e+15][9.00719925e+15-1.80143985e+169.00719925e+15][-4.50359963e+159.00719925e+15-4.50359963e+15]]linalg.qr()矩阵的QR分解np.linalg.qr(d_mat):matrix([[-0.12309149,0.90453403,0.40824829],[-0.49236596,0.30151134,-0.81649658],[-0.86164044,-0.30151134,0.40824829]]),matrix([[-8.12403840e+00,-9.60113630e+00,-1.10782342e+01],[0.00000000e+00,9.04534034e-01,1.80906807e+00],[0.00000000e+00,0.00000000e+00,-1.77635684e-15]])linalg.det()计算矩阵的行列式np.linalg.det(d_mat):6.66133814775094e-16表2-10Numpy常用的矩阵运算函数2.2.6Pandas统计分析基础Pandas是基于Numpy的一种工具,也是一个数据工具箱,最初是作为金融数据分析而开发出来的。Pandas纳入了大量数据库和数据模型,提供了操作大型数据集所需要的高效工具,处理数据也更加简单、便捷,目前也已被广泛应用于大数据分析的各个领域。Pandas与Numpy都可以用于处理数据,两者最大的区别在于:Numpy更适合处理统一的数值数组数据,而Pandas可以处理表格数据和混杂数据。2.2.6Pandas统计分析基础1)DataFrame数据结构Pandas最常用的数据类型是DataFrame。DataFrame是一种二维数据结构,相当于Excel表格,存储在DataFrame中的每列数据类型可以不同。DataFrame的创建语法如下:pd.DataFrame(data,colums=[序列],colums=[序列],index=[序列])
常用的DataFrame的属性有index、colums、values、dtype和shape等。其中,index返回DataFrame的行索引,colums返回列索引,values返回DataFrame的数据值,dtype返回每一列的数据类型,shape返回DataFrame的维度,即行数和列数。2.2.6Pandas统计分析基础函数描述rename()对行索引或列名进行修改insert(loc,column,value)将value值插入到第loc列,列名为column指定的列名。drop(labels,axis,index,columns)删除指定的行或列。labels为指定的行或列;axis=0为删除行,axis=1为删除列;index指定的一行或多行;columns用列名指定要删除的行或列。head(n)返回前n行,默认n=5tail(n)返回后n行,默认n=5isnull()检测缺失值,返回布尔型的DataFrame,缺失值会被标记为True,非缺失值被标记为Falsefillna()缺失值填充函数,fillna(0):填充缺失值为0;fillna(method='mean')填充为某个轴上其他值的平均值;使用fillna(method='median')填充为某个轴上其他值的中位数dropna(axis,how)删除缺失数据的函数。axis=0,删除含有缺失值的行;axis=1,删除含有缺失值的列。How=’any’,行或列中只要存在一个缺失值就删除整行或整列,How=’all’,只有当整行或整列都是缺失值时才删除。drop_duplicates(subset,keep)去掉重复的值。Subset表示要去重的列名,默认为None。Keep有三个可选参数,分别是first、last、False,默认为first,表示只保留第一次出现的重复项,删除其余重复项,last表示只保留最后一次出现的重复项,False则表示删除所有重复项。表2-11DataFrame常用的函数2.2.6Pandas统计分析基础2)pandas文件操作Pandas读取Excel文件使用read_excel()函数,该函数的参数很多。参数参数说明实例io读取的Excel文件路径r’E:\Python\data1.xlsx’(r防止字符转义)Sheet_name导入的sheet页sheet_name=0:导入第一页sheet中的数据;sheet_name=’表名’,导入指定表名sheet中的数据;sheet_name=’SheetN’:导入第N个sheet中的数据,S要大写header指定哪一行做列名header=0:默认为0,即默认表格第一行作为列名;header=[0,1],表示将前两行作为列名names最定义最终的列名适用于Excel表格中的数据缺少列名,或者需要重新定义列名的情况,names的长度必须和Excel列的长度一致,否则会报错index_col用作索引的列index_col=None:默认数据不带行索引号,自动分配从0开始的索引号;index_col=0:以第一列作为行索引;index=[0,1]:将前两列作为多重索引。usecols需要读取哪些列usecols=None:默认读取所有列的数据;usecols=[0,2,3]:读取指定列的数据;usecols=[’age’,’sex’]:读取列名所指定的列的数据;表2-12read_excel()函数的参数2.2.6Pandas统计分析基础2)pandas文件操作对Excel数据处理之后,可以通过pandas中的写入函数to_excel()将数据写入到excel表格中,to_excel()函数的常用参数如下表格所示。参数参数说明实例excel_writer()写入的文件路径r’E:\liu\data1.xlsx’(r防止字符转义)Sheet_name写入的excel表名sheet_name=’sheet1’:默认表名为sheet1;sheet_name=’表名’:自定义表名index是否输出行索引index=True:默认输出;index=None:不输出航索引。
na_rep缺失值的填充可以等于0,或者空值表2-13to_excel()函数的参数2.2.6Pandas统计分析基础3)Pandas数据索引Pandas可以通过索引来筛选需要的数据。DataFrame索引分为行索引和列索引,具体筛选方法包括:直接筛选、条件筛选和索引器筛选。
直接筛选的语法格式为:df[]。当选择单列数据的时候,直接用df[’列名’]。选择多列数据的时候,用df[’列名1’,’列名2’..]选择多列。选择多行数据,使用df[a:b]选取连续的行,a表示从第a行开始选取,选取至第(b-1)行的数据。2.2.6Pandas统计分析基础3)Pandas数据索引
条件筛选也叫布尔筛选,根据布尔条件选择对应的行。条件的数量可以是单个也可以是多个。
单个布尔条件选择格式为:df[(df[’列’]==条件)],例如df[(df[‘资产’]>20000)]表示筛选出资产大于20000的行。
多个布尔条件选择格式为:df[(df[’列1’]==条件1&df[’列2’]==条件2)],表示选取列1符合条件1并且列2符合条件2的行;例如df[(df[’年份’]==’2024’&df[’资产’]>20000)],表示筛选出2024年资产大于20000的行。2.3Scikit-learn2.3.1Scikit-learn简介2.3.2Scikit-learn数据挖掘模块2.3.1Scikit-learn简介Scikit-learn(简称sklearn)是一个开源的Python机器学习库,旨在为数据挖掘和数据分析提供丰富而强大的工具。Scikit-learn建立在SciPy的基础上,依赖于NumPy、SciPy和Matplotlib等库,提供了大量的数据挖掘法实现,涵盖了监督学习、无监督学习、半监督学习等领域,还包含了诸多模型评估及选择的方法。Scikit-learn的API设计简洁一致,既适合初学者入门,也能满足专业人士在实际问题解决中的需求。2.3.1Scikit-learn简介Scikit-learn的主要特点:简单易用:提供简洁一致的API设计,用户可以轻松使用各种机器学习算法和工具。广泛的机器学习算法:包含分类、回归、聚类等多种算法,如线性回归、决策树、随机森林、支持向量机等。丰富的数据预处理功能:提供特征缩放、特征选择、数据清洗等功能,帮助用户准备好用于训练的数据集。模型评估与选择:提供多种模型评估和选择的指标和工具,帮助用户评估模型性能、选择合适的模型。高性能运算:底层使用NumPy和SciPy等高性能计算库,能够快速处理大规模数据。2.3.2
Scikit-learn数据挖掘模块sklearn将所有的函数和方法分为六大类,分别是:分类模型(Classification);回归模型(Regression);聚类模型(Clustering);降维方法(Dimensionalityreduction);模型选择(Modelselection);数据预处理数据预处理:Scikit-Learn提供了数据预处理包sklearn.preprocessing,这个包主要提供了几个常见的Utility函数和transformer类,用于对原始数据进行变换使得其更加适合数据挖掘。标准化(Standardization)和归一化(Normalization)是调整数据特征尺度的重要步骤,也是常见的数据预处理技术,有助于提高数据挖掘某些算法的性能。处理缺失值是也是数据预处理中的常见任务。Scikit-learn本身不直接处理缺失值,但可以使用SimpleImputer或IterativeImputer等工具来在预处理阶段填充缺失值。2.3.2
Scikit-learn数据挖掘模块分类模型(Classification):Scikit-learn提供了多种分类算法,包括支持向量机SVM、决策树、神经网络、集成学习方法等。一个使用SVM进行分类的例子如[例2-24]所示。[例2-24]SVM分类fromsklearnimportsvm#导入svm包X=[[0,0],[1,1]]y=[0,1]clf=svm.SVC()clf.fit(X,y)#训练模型clf.predict([[2.,2.]])#对新向量[2.,2.]预测最终生成的SVM模型取决于训练集中的部分数据,这部分数据也叫做支持向量。有关支持向量的信息可以通过SVM的属性获取,常用的几个属性为support_vectors_,support_andn_support_,分别表示支持向量、支持向量的索引、以及每个类别的支持向量的数目。2.3.2
Scikit-learn数据挖掘模块聚类模型Scikit-learn提供了若干种聚类算法的实现,包括K-means聚类、DBSCAN聚类、层次聚类、谱聚类和近邻传播聚类等。Scikit-learn官网上提供了几种聚类算法对不同形状的数据集进行聚类的效果对比,如图所示:2.3.2
Scikit-learn数据挖掘模块回归模型:
Scikit-learn提供了线性回归、多项式回归、逻辑回归、岭回归、决策树回归、随机森林回归等回归模型及实现方法。[例2-26]线性回归示例。#导入所需要的包importpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimportmean_squared_error,r2_score
#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 治安管理处罚法考试题
- 经济法基础考试题库试卷
- 智能客服系统运维师绩效考核表
- 安置房项目预留预埋施工方案
- 医疗救助审批申请
- 二月二龙抬头各地的习俗有哪些
- 高中三年级语文《红楼梦》人物形象分析教案
- 钠离子电池沥青基复合负极材料的制备与电化学性能研究
- 大豆结瘤相关性状全基因组关联分析及候选基因挖掘
- 四川省达州市注册营养师考试专业知识题库及答案(2026年)
- GB 45185-2024眼视光产品成品眼镜安全技术规范
- DB32/T 2126-2012 人力资源外包服务规范
- 受灾群众集中转移安置方案及受灾群众基本生活保障方案
- 货物类投标方案(技术标)
- 中国证监会证券市场交易结算资金监控系统证券公司接口规范
- 2024社区直饮水合作协议
- 中考物理复习《物态变化》专项测试卷(附带参考答案)
- 降低医嘱漏签率品管圈课件
- 探索不安全行为的产生及控制
- 2.2.6车辆辅助系统维护与操作-照明系统操作
- 危险化学品安全生产规章制度和岗位操作规程的目录清单
评论
0/150
提交评论