• 大小: 217KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-18
  • 语言: Python
  • 标签: 机器学习  

资源简介

本人大四快毕业了,利用寒假的时间把毕业设计《机器学习分类算法分析及基于Python的实现》做了。该资源是用Python实现机器学习分类算法的代码和一些测试数据,如你觉得有需要的话,可自行下载参考。

资源截图

代码片段和文件信息

#!/usr/bin/env python
# encoding: utf-8
“““
@author: scoefield
@file: decideTree1.py
@time: 2018/2/7 21:27
“““
from math import log
from tkinter import *
from GraduationDesign.mysystempage import globalmodel

“““
函数说明:创建测试数据集
Returns:
    dataSet - 数据集
    labels - 分类属性
“““
def createDataSet():
    dataSet = [[0 0 0 0 ‘no‘]         # 数据集
            [0 0 0 1 ‘no‘]
            [0 1 0 1 ‘yes‘]
            [0 1 1 0 ‘yes‘]
            [0 0 0 0 ‘no‘]
            [1 0 0 0 ‘no‘]
            [1 0 0 1 ‘no‘]
            [1 1 1 1 ‘yes‘]
            [1 0 1 2 ‘yes‘]
            [1 0 1 2 ‘yes‘]
            [2 0 1 2 ‘yes‘]
            [2 0 1 1 ‘yes‘]
            [2 1 0 1 ‘yes‘]
            [2 1 0 2 ‘yes‘]
            [2 0 0 0 ‘no‘]]
    labels = [‘不放贷‘ ‘放贷‘]           # 分类属性
    return dataSet labels                # 返回数据集和分类属性


“““
函数说明:计算给定数据集的经验熵(香农熵)
Parameters:
    dataSet - 数据集
Returns:
    shannonEnt - 经验熵(香农熵)
“““
def calcShannonEnt(dataSet):
    numEntires = len(dataSet)                        # 返回数据集的行数
    labelCounts = {}                                # 保存每个标签(Label)出现次数的字典
    for featVec in dataSet:                            # 对每组特征向量进行统计
        currentLabel = featVec[-1]                    # 提取标签(Label)信息
        if currentLabel not in labelCounts.keys():    # 如果标签(Label)没有放入统计次数的字典添加进去
            labelCounts[currentLabel] = 0
        labelCounts[currentLabel] += 1                # Label计数
    shannonEnt = 0.0                                # 经验熵(香农熵)
    for key in labelCounts:                            # 计算香农熵
        prob = float(labelCounts[key]) / numEntires    # 选择该标签(Label)的概率
        shannonEnt -= prob * log(prob 2)            # 利用公式计算
    return shannonEnt                                # 返回经验熵(香农熵)


def dtreeshowdata1():
    dataSet features = createDataSet()
    # print(dataSet)
    globalmodel.get_value().delete(1.0 END)
    globalmodel.get_value().insert(“insert“ “\n-------------------------- 数据集属性标注 ---------------------\n“)
    globalmodel.get_value().insert(“insert“ “年龄:0代表青年,1代表中年,2代表老年;\n“)
    globalmodel.get_value().insert(“insert“ “有工作:0代表否,1代表是;\n“)
    globalmodel.get_value().insert(“insert“ “有自己的房子:0代表否,1代表是;\n“)
    globalmodel.get_value().insert(“insert“ “信贷情况:0代表一般,1代表好,2代表非常好;\n“)
    globalmodel.get_value().insert(“insert“ “类别(是否给贷款):no代表否,yes代表是。\n“)
    globalmodel.get_value().insert(“insert“ “---------------------------- 数据集显示 ----------------------\n“)
    globalmodel.get_value().insert(“insert“ dataSet)
    globalmodel.get_value().insert(“insert“ “\n分类属性:“)
    globalmodel.get_value().insert(“insert“ features)

    globalmodel.get_value().insert(“insert“ “\n计算所得经验熵(香农熵)H(D)为:“)
    globalmodel.get_value().insert(“insert“ calcShannonEnt(dataSet))


if __name__ == ‘__main__‘:
    dtreeshowdata1()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-02-21 10:36  mysystempage\
     文件        3497  2018-02-11 00:01  mysystempage\decideTree1.py
     文件        5356  2018-02-07 22:14  mysystempage\decideTree2.py
     文件       13677  2018-02-11 00:26  mysystempage\decideTree3.py
     文件         875  2018-02-07 10:35  mysystempage\globalmodel.py
     文件        3526  2018-02-11 21:37  mysystempage\knnHelen1.py
     文件        6100  2018-02-10 23:36  mysystempage\knnHelen2.py
     文件        3340  2018-02-10 23:48  mysystempage\knnHelen3.py
     文件        2212  2018-02-10 22:24  mysystempage\linearRegression1.py
     文件        2328  2018-02-06 22:03  mysystempage\linearRegression2.py
     文件        5443  2018-02-10 22:25  mysystempage\linearRegression4.py
     文件       17288  2018-02-21 10:36  mysystempage\mySystem.py
     目录           0  2018-02-21 10:06  mysystempage\mysystemdata\
     文件        1150  2018-02-03 11:19  mysystempage\mysystemdata\hnust.ico
     目录           0  2018-02-08 23:16  mysystempage\mysystemdata\image\
     文件       28067  2018-02-08 23:12  mysystempage\mysystemdata\image\dectree.png
     文件       10517  2018-02-08 23:10  mysystempage\mysystemdata\image\knn.png
     文件       11331  2018-02-08 22:24  mysystempage\mysystemdata\image\lineRegression.png
     文件       21812  2018-02-08 22:36  mysystempage\mysystemdata\image\nbayes.png
     文件       42005  2018-02-05 14:21  mysystempage\mysystemdata\image\pythonlogo.png
     文件       10703  2018-02-08 23:16  mysystempage\mysystemdata\image\svm.png
     文件       35723  2018-02-10 22:45  mysystempage\mysystemdata\knnHelenData.txt
     文件        5598  2018-01-25 22:13  mysystempage\mysystemdata\lineRegressionData.txt
     文件       17920  2018-02-02 14:40  mysystempage\mysystemdata\lineRegressionData.xls
     文件        2206  2018-02-07 22:28  mysystempage\mysystemdata\svmTestData.txt
     文件        1576  2018-02-10 22:25  mysystempage\nbayesSFilter1.py
     文件        5434  2018-02-10 22:15  mysystempage\nbayesSFilter2.py
     文件        5367  2018-02-10 22:19  mysystempage\nbayesSFilter3.py
     文件        2339  2018-02-10 23:57  mysystempage\svmSmo1.py
     文件        7356  2018-02-11 22:07  mysystempage\svmSmo2.py
     文件       13152  2018-02-11 22:15  mysystempage\svmSmo3.py
............此处省略20个文件信息

评论

共有 条评论