数据挖掘实验相关--记录

该文介绍了使用Weka进行数据挖掘的多个方面,包括关联规则学习如Apriori算法,数据分类中的ID3、NaiveBayes和人工神经网络,以及数据聚类的K-Means算法。文章提供了具体实验项目,如银行精准营销和不同算法的对比分析,旨在理解和掌握各种数据挖掘技术。
摘要由CSDN通过智能技术生成

Weka初识

1、Weka软件的基本操作

关联规则挖掘

2、关联规则算法学习—Apriori

数据分类

3、分类算法学习—ID3

4、贝叶斯分类学习—NaiveBayes

人工神经网络

5、人工神经网络学习

数据聚类

6、聚类算法学习—K-Means

综合实验

7、银行精准营销

8、分类算法综合


Weka初识

1、Weka软件的基本操作

一、实验项目:利用Weka软件进行关联规则挖掘及数据分类操作

项目性质:验证型

二、实验目的:

了解Weka软件的使用

三、实验内容:

1了解Weka使用的一般步骤

2利用Weka,对数据集进行关联规则挖掘及数据分类

3、记录操作步骤、使用的数据、最终的结果

Weka的使用 - 简书

学习weka(1):weka软件安装使用教程_用weka打开数据显示重新安装_蓝亚之舟的博客-CSDN博客

如何在Weka中加载CSV机器学习数据 - 腾讯云开发者社区-腾讯云

https://www.cnblogs.com/tanrong/p/8671068.html

关联规则挖掘

2、关联规则算法学习—Apriori

一、实验项目:关联规则算法学习

项目性质:设计型

二、实验目的:

理解并掌握关联规则经典算法Apriori算法,理解算法的原理,能够实现算法,并对给定的数据集进行关联规则挖掘

三、实验内容:

1、实现Apriori算法,验证算法的正确性,并将算法应用于给定的数据集Groceries,根据设定的支持度和置信度,挖掘出符合条件的频繁项集及关联规则。

2、挑选几个有代表性的频繁项集和关联规则,记录下来。

3、调节支持度和置信度阈值,重新执行算法,比较结果的不同。

数据挖掘::实验一 WEKA分类_weka朴素贝叶斯结果分析_折竹丶的博客-CSDN博客

导入原数据失败

上传了资源,还未通过审核

Weka有时候关联分析的"Start"按钮式灰色的

数据挖掘—Weka 的数据库挖掘及数据预处理-阿里云开发者社区

weka-实现数值数据的离散化_weka离散化处理_252619的博客-CSDN博客

数据分类

3、分类算法学习—ID3

一、实验项目:银行资产评估

项目性质:设计型

二、实验目的:

理解并掌握ID3算法,理解算法的原理,能够实现算法,并对给定的数据集进行分类,分析个人参股的情况

三、实验内容:

1、实现ID3算法,验证算法的正确性,并将算法应用于给定的数据集Bank-data,选择一部分数据集作为训练集,训练出决策树,然后用剩下的数据集作为测试集,验证算法的分类情况

2、实现C4.5算法,将ID3算法的分类结果与C4.5的分类结果进行比较

数据挖掘::实验一 WEKA分类_1.对iris.arff数据进行分类_折竹丶的博客-CSDN博客

ID3算法(含实例)_id3算法例题_爱吃烧卖的馒头的博客-CSDN博客

Weka安装及简单应用_1)安装weka并实现在其自带的iris数据集上的分类任务,观测weka输出的性能度量值,并_袅袅秋风归的博客-CSDN博客
关联规则挖掘Apriori算法的实现_java关联规则挖掘_司腾的博客-CSDN博客
 

Apriori算法java实现

【Apriori算法Java实现版】聚类算法与关联分析 - 简书

数据挖掘-Apriori算法的java实现_乐邂逅的博客-CSDN博客

4、贝叶斯分类学习—NaiveBayes

一、实验项目:分类算法学习

项目性质:设计型

二、实验目的:

理解并掌握贝叶斯分类算法的原理,能够实现朴素贝叶斯分类器算法,并对给定的数据集进行分类

三、实验内容:

1、实现朴素贝叶斯分类算法,验证算法的正确性,并将算法应用于给定的数据集Data_User_Modeling数据集,选择一部分数据集作为已知结果,然后用剩下的数据集作为测试集,验证算法的分类情况

2、重新选取训练样本和测试集,对比并分析分类结果

3、选取一部分数据集作为训练样本,实现分类;不断从测试集中选取数据加入到训练集中,对比并分析分类结果

人工神经网络

5、人工神经网络学习

一、实验项目:人工神经网络学习

项目性质:设计型

二、实验目的:

理解并掌握人工神经网络单层感知器学习算法,理解算法的原理,能够实现算法,并通过训练数据对单层感知器的权重进行学习

三、实验内容:

1、实现单层感知器学习算法,验证算法的正确性,选择iris-人工神经网络.txt中的一部分数据集作为训练集,通过训练集对感知器的连接权重进行学习

2、用剩下的数据集作为测试集,验证学习的效果

数据聚类

6、聚类算法学习—K-Means

一、实验项目:聚类算法学习

项目性质:设计型

二、实验目的:

理解并掌握K-Means算法,理解算法的原理,能够实现算法,并对给定的数据集进行聚类

三、实验内容:

1、实现K-Means算法,验证算法的正确性,并将算法应用于给定的鸢尾花数据集iris,验证算法的聚类情况

 

import pandas as pd
import matplotlib.pyplot as plt
from numpy import nonzero
from sklearn.cluster import KMeans
from sklearn.metrics import f1_score, accuracy_score, normalized_mutual_info_score, rand_score
from sklearn.preprocessing import LabelEncoder
from sklearn.decomposition import PCA
import csv
# 定义文件路径
csv_path = 'C:/Users/Xu/Desktop/iris.csv'

df_full = pd.read_csv(csv_path)  # 鸢尾花数据集 Iris  class=3


columns = list(df_full.columns)  # 获取数据集的第一行,第一行通常为特征名,所以先取出
features = columns[:len(columns) - 1]  # 数据集的特征名(去除了最后一列,因为最后一列存放的是标签,不是数据)
df = df_full[features]  # 预处理之后的数据,去除掉了第一行的数据(因为其为特征名,如果数据第一行不是特征名,可跳过这一步)

class_labels = list(df_full[columns[-1]])  # 原始标签
if type(class_labels[0]) != int:
    class_labels = LabelEncoder().fit_transform(df_full[columns[len(columns)-1]])  # 如果标签为文本类型,把文本标签转换为数字标签
    print("此数据集标签为文本类型,已经转化为数字标签!")

K = 3

# 这里已经知道了分3类,其他分类这里的参数需要调试
model = KMeans(n_clusters=K)
# 训练模型
model.fit(df)
# 预测全部数据
label = model.predict(df)
print(label)


def clustering_indicators(labels_true, labels_pred):
    f_measure = f1_score(labels_true, labels_pred, average='macro')  # F值
    accuracy = accuracy_score(labels_true, labels_pred)  # ACC
    normalized_mutual_information = normalized_mutual_info_score(labels_true, labels_pred)  # NMI
    rand_index = rand_score(labels_true, labels_pred)  # RI
    return f_measure, accuracy, normalized_mutual_information, rand_index


F_measure, ACC, NMI, RI = clustering_indicators(class_labels, label)
print("F_measure:", F_measure, "ACC:", ACC, "NMI", NMI, "RI", RI)
data_reduced = PCA(n_components=2).fit_transform(df)  # 降维

# 打印出聚类散点图
plt.scatter(data_reduced[:, 0], data_reduced[:, 1], marker='o', c='black', s=7)  # 原图
plt.show()
plt.scatter(data_reduced[nonzero(label == 0), 0], data_reduced[nonzero(label == 0), 1], c='red', s=7)
plt.scatter(data_reduced[nonzero(label == 1), 0], data_reduced[nonzero(label == 1), 1], c='blue', s=7)
plt.scatter(data_reduced[nonzero(label == 2), 0], data_reduced[nonzero(label == 2), 1], c='green', s=7)
plt.show()

【机器学习】K-means(非常详细) - 知乎

python:读取csv文件路径正确但报错FileNotFoundError: [Errno 2] No such file or directory_我爱写BUG的博客-CSDN博客

K-means聚类算法(附Python实现代码)_kmeans聚类算法python代码_helloWorldZMY的博客-CSDN博客

《数据挖掘基础》实验:Weka平台实现聚类算法_weka聚类分析_lazyn的博客-CSDN博客

 

 

综合实验

7、银行精准营销

一、实验项目:银行业潜在存款客户精准营销

项目性质:综合型

二、实验目的:

利用数据挖掘技术,对银行已有数据进行分析,对客户进行识别,对客户是否能够进行存款精准营销

三、实验内容:

1、根据相关的信息预测通过电话推销,用户是否会在银行进行存款

2、数据bank.csv,约4520条数据,17个属性值

提示: 17个属性,分别是年龄,工作类型,婚姻状况,受教育背景,信用情况,房贷,个人贷款,联系电话是手机还是固定电话,最后联系月份,最后联系日,通话持续时间,本次活动中联系的次数,最后一次接触距离上一次接触的时间,以前的活动中联系的次数,上一次活动成功与否,是否会进行存款

8、分类算法综合

一、实验项目:分类算法对比分析

项目性质:综合型

二、实验目的:

对所学分类算法原理和内容进行巩固,并进行对比分析

三、实验内容:

1、基于前面的三个分类算法:决策树、朴素贝叶斯分类、和人工神经网络,针对某个数据集进行实验

2、对三个算法的结果进行对比分析

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值