第一部分
自我介绍 + 教学大纲 (32 +16) + 课程考核方式(考查+设计报告)
实验报告册(总共写8次)
1.数据挖掘的概念:
从数据中“淘金”,从大量数据(包括文本)挖掘隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策的方法、工具和过程,这就是数据挖掘。
2.数据挖掘的基本任务
数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。
3.数据挖掘的建模过程
(1)目标定义
任务理解
指标确定
(2)数据采集
建模抽样
质量把控
实时采集
(3)数据整理
数据探索
数据清洗
数据变换
(4)构建模型
模式发现
构建模型
验证模型
(5)模型评价
设定评价标准
多模型对比
模型优化
(6)模型发布
模型部署
模型重构
3.1 数据取样
(1)抽取数据的标准:一是相关性,二是可靠性,三是有效性,而不是动用全部的企业数据。
(2)衡量取样数据质量的标准包括:资料完整无缺,各类指标项齐全;数据准确无误,反映的都是正常状态下的水平。
3.2 抽样常见的几种方式:
(1)随机抽样:在采用随机抽样方式时,数据集中的每一组观测值都有相同的被抽取的概率。
(2)等距抽样:如果按照%5的比例对一个有100组观测值的数据集进行等距抽样,则有100/5=20个数据被取到,那么等距抽样方式是取第20、40、60、80组这和第100组这5组观测值。
(3)分层抽样:在这种抽样操作中,首先将样本总体分成若干层次(或者说分成若干个子集)。每个层次中的观测值都具有相同的被选用的概率,但对不同的层次可设定不同的概率。这样的抽样结果通常具有更好的代表性,进而使模型具有更好的拟合精度。
(4)按起始顺序抽样:这种抽样方式是从输入数据集的起始处开始抽样。抽样的数量可以给定一个百分比,或者直接给定选取观测值的数组。
(5)分类抽样:分类抽样则依据某种属性的取值来选择数据子集,按照客户名称分类、按照地址区域分类等,是抽样以类为单位。
3.3 数据探索
数据探索主要包括异常值分析、缺失值分析、相关分析、周期性分析。
3.4 数据预处理
数据预处理主要包括数据筛选、数据变量转换、缺失值处理、坏数据处理、数据标准化、主成分分析、属性选择、数据归约等。
3.5 挖掘建模
挖掘建模是数据挖掘工作的核心环节。
第二部分
PPT:目录
语言特点和应用领域
1.1.1 Python的特点
Python语言之所以能够迅速发展,受到程序员的青睐,与它具有的特点密不可分。Python的特点可以归纳为以下几点:
1.简单易学
Python语法简洁,非常接近自然语言,它仅需要少量关键字便可识别循环、条件、分支、函数等程序结构。与其他编程语言相比,Python可以使用更少的代码实现相同的功能。
2.免费开源
Python是开源软件,这意味着可以免费获取Python源码,并能自由复制、阅读、改动;Python在被使用的同时也被许多优秀的人才引进,进而不断完善。
3.可移植性
Python作为一种解释型语言,可以在任何安装有Python解释器的环境中执行,因此使Python程序具有良好的可移植性,在某个平台编写的程序无须或仅需少量修改便可在其他平台运行。
4.面向对象
面向对象程序(Object Oriented Programming)的本质是建立模型以体现抽象思维过程和面向对象的方法,基于面向对象程序的思想设计程序质量高、效率高、易维护、易扩展。Python正是一种支持面向对象的编程语言,因此使用Python可开发出高质量、高效、易于维护和扩展的优秀程序。
5.丰富的库
Python不仅内置了庞大的标准库,并且定义了丰富的第三方库帮助开发人员快捷、高效的处理工作。例如,Python提供了与系统操作相关的os库、正则表达式re模块、图形用户界面tkinter库等标准库。只要安装了Python,开发人员就可以自由地使用这些库提供的功能。除此之外,Python支持许多高质量的第三方库,例如图像处理图pillow、游戏开发库pygame、科学计算库numpy等 ,这些第三方库可以通过pip工具安装后使用。
1.1.2 Python的版本
python2和python3两个版本并行,两者不兼容。python2 版本于2020年停止更新。
1.print( )函数替代了print语句。
2.Python3默认使用UTF-8编码,Python2默认使用ASCII编码。
Python版本选择与IDEA的简单使用
Python两种运行方式:交互式、文件式
交互式:通过python解释器运行接收python代码并且及时响应。
文件式:批量式。指先将python代码保存在文件中,再启动python解释器批量解释代码。
IDLE交互式开发界面
cd desktopcd 数统学院pythonls cat paixu.py
pycharm中的程序
# 导入标准库中的函数 from random import choices # 生成包含10个100以内的随机整数列表 data = choices(range(100),k=10) # 输出列表 print(data) # 输出排序之后的列表 print(sorted(data))
1.3 快速开发Python程序
前面两节介绍了Python的特点、安装以及开发工具的使用方法等,接下来介绍Python的编程约定、变量、输入、输出函数等知识,以帮助大家了解
Python程序开发的通用知识,并了解如何快速开发Python应用程序。
1.3.1 开发第一个Python程序:模拟手机充值
生活中常常出现这样的场景:当电话卡余额不足时,会收到运营商发来的提示短信,此时用户可根据需要在充值平台输入要充值的手机号码和金额进行充值。充值成功后,会再次收到短信提示。如何使用Python模拟以上场景呢?
在编写代码之前,先思考以下3个问题:
(1)如何接受用户输入的手机号码、充值金额。
(2)如何保存输入的手机号码与充值金额。
(3)如何提示用户充值成功。
我们可以使用Python中的input( )函数给出提示并接收用户输入的信息,使用变量保存用户输入的数据,使用变量保存用户输入的数据,使用print( )函数输出提示信息。按照这个思路,编写代码模拟手机充值的场景,具体如下:
phone_num = input('请输入要充值的手机号码:')recharge_amount = input('请输入要充值的金额:')print('手机号码'+ phone_num + '成功充值' + recharge_amount + '元')
上述程序中,第1行代码使用input( )函数给出提示、接收用户输入的手机号码,使用变量phone_num存储用户输入的手机号;第2行代码使用input ( )函数给出提示、接收用户输入的充值金额,使用变量recharge_amount 存储用户的输入金额;第3行代码使用print( )函数打印用户的手机账号以及充值金额。
运行程序,按照提示依次输入手机号码和充值金额,程序的执行结果如下:
1.3.2 良好的编程约定
程序的编码风格是一个人编写程序时表现出来的特点、习惯逻辑思路等,我们在程序开发时要重视其编写规范。
1.代码布局
(1)缩进。标准Python风格中每个缩进级别使用4个空格,禁止混用空格与Tab。
(2)行的最大长度。每行最大长度79,换行可以使用反斜杠,但建议使用圆括号。
(3)空白行。顶层函数和定义的类之间空两行,类中的方法定义之间空一行;函数内逻辑无关的代码段之间空一行,其他地方尽量不要空行。
2.空格的使用方法
(1)右括号前不要加空格
(2)逗号、冒号、分号前不要加空格。
(3)函数的左括号前不要加空格,如fun(1)。
(4)序列的左括号前不要加空格,如list(1)。
(5)操作符左右各加一个空格,如 a + b = c。
(6)不要将多条语句写在同一行。
(7)if 、for 、while语句中,即使执行语句只有一句,也必须另起一行。
3.代码注释
(1)块注释。块注释跟随被注释的代码,缩进至与代码相同的级别。块注释使用“#”开头。
(2)行内注释。行内注释是与代码语句同行的注释。行内注释与代码至少由两个空格分隔,注释以“#”开头。
(3)文档字符串。文档字符串指的是为所有公共模块、函数、类以及方法编写的文档说明。文档字符串使用三引号包裹。
4.命名规范
(1)不要使用字母“l”(L的小写)、“O”(大写O)、“I”(大写I)作为单字符变量名。
(2)模块名、包名应简短且全为小写。
(3)函数名应该小写,如果想提高可读性,可以用下划线分隔小写单词。
(4)类名首字母一般使用大写。
(5)常量通常采用全大写命名。
1.3.3 数据的表示——变量
Python程序运行过程中随时可能产生一些临时数据,应用程序会将这些数据保存在内存单元中,并使用不同的标识符来标识各个内存单元。这些具有不同标识、存储临时数据的内存单元称为变量,标识内存单元的符号则为变量名(亦称为标识符),内存单元中存储的数据就是变量的值。
Python中定义变量的方式非常简单,只需要指定数据和变量名即可。变量的定义格式如下:
变量名 = 数据
变量名应遵循以下规则:
(1)由字母、数字和下划线组成,且不以数字开头。
(2)区分大小写。
(3)通俗易懂,见名知意。
(4)如果由两个及以上的单词组成,单词与单词之间使用下划线连接。
1.3.4 基本输入/输出
程序要实现人机交互功能,需要能够向显示设备输出有关信息及提示,同时也要能够接收从键盘输入的数据。Python提供了用于实现输入/输出功能的函数input( )和输出函数
print(),下面分别对这两个函数进行介绍。
1.input( )函数
input()函数用于接收一个标准输入数据,该函数返回一个字符串类型数据,其语法格式如下:
input([prompt]) #参数说明:prompt提示信息
下面通过一个模拟用户登录的案例演示print()函数与input()函数的使用,具体如下:
user_name = input('请输入账号:')password = input('请输入密码:')print('登录成功!')
程序运行结果:
2. print()函数
print()函数用于向控制台中输出数据,它可以输出任何类型的数据,该函数的语法格式如下:
print( *objects,sep = '',end = '\n',file = sys.stdout )
print( )函数中各个参数具体含义如下:
(1)objects:表示输出的对象。输出多个对象时,需要用逗号分隔。
(2)sep:用于间隔多个对象。
(3)end: 用于设置以什么结尾。默认是换行符 \n。
(4)file:表示数据输出的文案对象。
下面通过一个打印名片的案例演示print( )函数的使用,具体如下:
print('姓名:小可爱')age = 13print('年龄:',age)print('地址:甘肃庆阳')
1.4 示例1:海洋单位距离的换算
在陆地上可以使用参照确定两点间的距离,使用厘米、米、公里等作为计量单位,而海上缺少参照物,人将赤道经度的1分对应的距离记为1海里,使用海里作为海上计量单位。公里与海里可以通过一下公式换算:
1海里 = 1.852公里
本示例要求编写程序,实现将公里转换成为海里的换算。
kilometre = float(input('请输入公里数: '))nautical_mile = (kilometre / 1.852)print('换算后的海里数为:', nautical_mile, "海里")
运行结果如下:
1.5 实例2:打印名片
名片是标识姓名及其所属组织、公司单位和联系方法的纸片,也是新朋友互相认识、自我介绍的快速有效的方法。编写程序。
print('传智播客教育科技股份有限公司')print('张先生 主管')print('--------------------------------')print('手机:18688888888')print('地址:北京昌平区建材城西路金燕龙办公楼')
程序运行结果如下: