Skip to content

📊 数据挖掘常用算法:关联分析Apriori算法,数据分类决策树算法,数据聚类K-means算法

Notifications You must be signed in to change notification settings

chgl16/data-mining-algorithm

Repository files navigation

数据挖掘算法

  1. 关联分析Apriori算法
  2. 数据分类决策树算法
  3. 数据聚类K-means算法

关联分析Apriori算法

以超市交易为数据集,所有商品的项集为

I = {bread, beer, cake, cream, milk, tea}

某条交易如

Ti = {bread, beer, milk}

简化为

Ti = {a, b, d}

data.txt数据集样本如下

a, d, e,f
a, d, e
c, e
e, f
...

使用经典的Apriori算法,依次扫描交易记录集,计算出 k-候选集Ck 然后去除支持度sup小的项集获得 k-频繁集Lk, 只计算到 3-频繁集 ,最后计算管理规则可信度即可。

第k个候选集只会从k-1频繁集中的各项目组合连接,然后扫描记录集,以获取Ck中各项集的支持度。

3.输出

算法输出


数据分类决策树算法

使用身高体重指数分为胖瘦两个分类,数据自己生成见 *data_generation.py 比较简陋。
数据集样本如下

184 77 fat
189 81 fat
178 75 fat
...

调用python实现的类库,比较简单

from sklearn import tree
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split

...

# 数据拆分,80%训练,20%测试
x_train, x_test, y_train, y_test=train_test_split(x, y, test_size = 0.2,random_state=0)

# 使用DecisionTreeClassifier建立模型并训练
clf = tree.DecisionTreeClassifier(criterion='entropy')
clf.fit(x_train, y_train)

...

打印后同时保持决策树到文件 *tree.dot,通过dot命令可以生产决策树图形(或者在线转换

# 保存决策树为dot文件,后续图形处理
with open("tree.dot", 'w') as f:
    f = tree.export_graphviz(clf, out_file=f)

3.输出

算法输出

决策树

决策树


数据聚类K-means算法

1. 数据集

数据集采用python类库有名的iris坐标点集

from sklearn import datasets

iris = datasets.load_iris()
X, y = iris.data, iris.target

数据集样本如下

[1.5 0.2]
[3.2 0.2]
[3.1 0.2]
[4.6 0.2]
...

K-means算法需要先指定要分成k类,数据样本只有熟悉,没有类别。
大概步骤:

  1. 从数据集X从随机选取k个数据样本作为聚类的初始化代表点,每一个代表点表示一个类别。
  2. 对于数据集中的任一样本点,都计算它与这k个初始化代表点的距离(d可用欧氏距离),然后划分到距离最近的分类中去。完成一次聚类
  3. 划分好数据后,计算每个聚类的均值,并将之作为该聚类的新代表点,因此得到k个新代表点。
  4. 和第二步一样,再继续计算每个点到代表点的距离,划分到距离最小的类
  5. 重复3和4,直到各个聚类不再发生变化(样本点划分固定了),即误差平方和准则函数的值达到最优。

3.输出

决策树

About

📊 数据挖掘常用算法:关联分析Apriori算法,数据分类决策树算法,数据聚类K-means算法

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy