数据挖掘课程设计Word格式文档下载.docx
《数据挖掘课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据挖掘课程设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
通过课程的学习,使学生掌握科学的学习方法和形成良好的学习习惯,形成辩证唯物主义的世界观和方法论。
《计算机组成原理》是计算机科学与技术专业的一门核心专业基础课。
通过本课程的学习,使学生掌握计算机系统的基本组成、计算机中数据的表示方法、计算机各硬件部件的功能和工作原理等,为学生学习计算机专业课打下坚实的基础。
3.项目工具
系统:
winlO
软件:
office2010,anaconda
1.MicrosoftOfficeWord
MicrosoftOfficeWord是微软公司的一个文字处理器应用程序。
Word给用户提供了用于创建专业而优雅的文档工具,帮助用户节省时间,并得到优雅美观的结果。
一直以來,MicrosoftOfficeWord都是最流行的文字处理程序。
作为Office套件的核心程序,Word提供了许多易于使用的文档创建工具,同时也提供了丰富的功能集供创建复杂的文档使用。
哪怕只使用Word应用一点文本格式化操作或图片处理,也可以使简单的文档变得比只使用纯文本更具吸引力。
2・MicrosoftOfficeExcel
MicrosoftExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件。
直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。
在1993年,作为MicrosoftOffice的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。
3.Anaconda:
Anaconda指的是一个开源的Python发行版本,其包含了conda>
Python等180多个科学包及其依赖项。
可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:
numpy、pandas等。
4.数据文件预处理
在数据挖掘中,海量的原始数据中存在着大量不完整、不一致、有异常的数据,严重影响到数据挖掘建模的执行效率,英至可能导致挖掘结果的偏差,所以进行数据清洗就显得尤为重要,数据清洗完成后接着进行或者同时进行数据集成、变换、规约等一系列的处理,该过程就是数据预处理。
数据预处理一方面是要提高数据的质量,另一方面是要让数据更好地适应特定的挖掘技术或工具。
1•数据预处理方法:
(1)数据清理
数据清理例程通过填写缺失的值、光滑噪声数据、识别或删除离群点并解决不一致性來“清理”数据。
主要是达到如下目标:
格式标准化,异常数据清除,错误纠正,重复数据的清除。
(2)数据集成
数据集成例程将多个数据源中的数据结合起來并统一存储,建立数据仓库的过程实际上就是数据集成。
通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。
⑷数据归约
数据挖掘时往往数据量非常大,在少量数据上进行挖掘分析需要很长的时间,数据归约技术可以用來得到数据集的归约表示,它小得多,但仍然接近于保持原数据的完整性,并结果与归约前结果相同或儿乎相同。
由于数据文件信息较多且有很多数据和本课题无关,为了减少资源和时间的浪费,所以在进行分析前先将excel表格进行删减和求和,优化数据,使数据更加直观便于分析。
处理前数据如图4-1所示.处理后数据如图4-2所示。
91tV¥
FX
学生初條必缄仃号m12开头为计算机专,,13.14开头为网络专业)
入—
:
:
W:
M
•:
畤丽
w
OC2:
・‘序久烷
«
c:
r:
Stiis*
*s«
y
K
gw齐:
护*
<
C030}
EX:
CCO11T:
范含Q・事
WU:
t—*
天•:
仝*
"
询
w:
芳:
ooo期:
■a*
供:
該
rr
t*«
2
ZXRH
wx$5:
CW«
tt
ca
3(
学生
9f
9F
•w0"
9
f
9A*
•w
9M
fyCC
◎w
9>
•
•tta◎w
•tta
9fc
5>
5S?
fqA*
・w
•t
1
HOI
Cl8
110:
9iro
3
H03
C8
4
U04
$
1105
•»
a»
6
110$
40)
?
110?
£
303
a?
co
a
nac
CO8
”CD
H09
DI8
10
UID
MCO
11
till
%20
HU
13
1113
图4-1表格数据处理前
Kmc
/.SX«
詆2
看
€
=2R«
二
2—«
r«
ME
EM
la*
”:
Mg
X.JIT
»
*cs«
=11^
J
wr:
X?
5£
呼
WWW:
沙淨
曲9:
«
T2^r
x:
Q:
CL>
伍
MX
UC4
E2S
6CS
UX
5T.X
讯30
X
U.M
u.w
f1
••
X.Z3
u
UW
X43
zx
X.M
KW
•・
if
I
廿
il.M
•l
99X
M:
rI
O.M
SCC4
4-2处理后数据
importpandasaspd
catering_sale=G/scour.xlsx‘
data=pd.read_excel(catering_sale,index_col二u‘学生'
)print(data.describe())
print(len(data))
物理组成原理
count
35.000000
mean
63.142857
73.417143
std
12.447875
12.389689
min
36.000000
43.600000
25%
57.000000
67.300000
50%
63.000000
71.800000
75%
70.000000
93.400000
max
89.000000
95.000000
35
图4・3数据初筛结果
上图中Count代表数量,Mean代表均值,Std代表标准差,Min代表最小值,50%代表中位数,Max代表最大值。
plt.rcParams['
axes.unicode^minus^False
plt.figure()
p=data.boxplot(return_type=,dict,)
x=p[,fliers,][O].get_xdata()
y=p[,fliersl][O].get_xdata()
y.sort()
foriinrange(len(x)):
ifi>
0:
plt.annotate(y[i],xy=(x[i]/y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-l])/y[i]))
else:
plt.annotate(y[i],xy=(x[i]/y[i]),xytext=(x[i]+0.08,y[i]))
plt.showf)
得到的检查结果如下图2-6所示:
4-6异常值检测箱型图
5.数据分析
数据分析是指用适当的统计方法对收集來的大量第一手资料和第二手资料进行分析,以求最大化地开发数据资料的功能,发挥数据的作用。
是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。
数据分析的目的与意义数据分析的目的是把隐没在一大批看來杂乱无章的数据中的信息集中、萃取和提炼出來,以找出所研究对象的内在规律。
1•绘制饼状图
饼状图显示一个数据系列(数据系列:
在图表中绘制的相关数据点,这些数据源自数据表的行或列。
图表中的每个数据系列具有唯一的颜色或图案并且在图表的图例中表示。
可以在图表中绘制一个或多个数据系列。
饼状图只有一个数据系列。
)中各项的大小与各项总和的比例。
饼状图中的数据点(数据点:
在图表中绘制的单个值,这些值由条形、
柱形、折线、饼状图或圆环图的扇面、圆点和其他被称为数据标记的图形表示。
相同颜色的数据标记组成一个数据系列。
)显示为整个饼状图的百分比。
饼状图是以圆形代表研究对象的整体,用以圆心为共同顶点的各个不同扇形显示各组成部分在整体中所占的比例,要注明各扇形所代表的项目的名称(可用图例表示)及其所占百分比。
饼状图可以比较清楚地反映出部分与部分、部分与整体之间的数量关系.易于显示每组数据相对于总数的大小.而且显现方式直观。
为了使图中数据更加直观,这里使用饼状图,代码如下:
importnumpyasup
importmatplotlib.mlabasmlab
importmatplotlib.pyplotaspit
font.sans-serif'
]=['
SimHei'
]
plt.rcParamsraxes.unicode_minus'
]=False
labels=[*不及格,/,60-70,;
70-80,;
80-90'
;
90-100,]
X=[9,17,7,2,0]
fig=plt.figure()
plt.pie(X/labels=labels/autopct=l%1.2f%%1)
plt.titlef大学物理1成绩分布图J
所得到的饼状图为大学物理1,如下图5-1所示:
图5-1物理成绩分布图
图5-4组成原理成绩分布图
6.挖掘建模
本课题研究的是对大学物理各个分数段的人及格儿率的预测,并通过数据检测,检测是否在计算机组成原理学习中存在困难,并及时给与提醒,根据数据挖掘分析。
1用代码5-1求总的信息爛。
2手工测算高数1,高数2对于数据结构及格情况的条件爛。
3信息增益=总信息爛-条件爛。
4参考信息增益,用信息增益多的作根节点,画出最浅决策树。
2•具体实现代码及过程
(1)利用以下代码将ecxel表格导入list
importxlrd
defcreatDataf):
file='
G:
\离散化.xlsx'
wb=xlrd.open_workbook(filename=file)
ws=wb.sheet_by_name('
离散化'
)
data=[]
forrinrange(ws.nrows):
col=[]
forcinrange(ws.ncols):
col.append(ws.cell(r,c).value)
data.append(col)
labels=「物理「计算机组成原理,]
returndata,labels
(2)利用以下代码计算信息爛
frommathimportlog
defshannon_entropy(data):
enteries=len(data)
label_count={}
forvindata:
currentJabel=v[-3]
ifcurrentjabelnotinlabel_count・keys():
label_count[current_label]=0
label_count[current_label]+=l
entropy=0.0
forkeyinlabel_count:
prob=float(labeLcount[key])/enteries
entropy-=prob*log(prob,2)
returnentropy
if_name_=='
_main_
data,features=creatData()
print(data)
print(shannon_entropy(data))
决策树图
7.数据挖掘过程
柱状图是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用來比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。
柱状
图亦可横向排列,或用多维方式表达。
绘制柱状图的代码如下所示:
plt.rcParamsrfont.sans・serif]二「SimHei'
plt.rcParams「axes.unicode_minus'
name_list=['
不及格T及格T良好,]
num_list=[60/49,27]
num_listl=[5/5/9]
x=list(range(len(num_list)))
total_width,n=0.8,2
width=total_width/n
plt.bar(x/num_list/width=widthjabel='
及格'
fc='
y'
x[i]=x[i]+width
plt.bar(x,numJistl,width=width/label=l不及格:
tick」abel二name_list,fc=,rl)pit」egend()plt.show()
得到如图7-1所示的柱状图
图7-1