数据挖掘期末作业(自己写的)

本文档记录了数据挖掘课程的期末作业,详细探讨了数据预处理、特征选择、模型训练与评估等关键步骤,旨在展示数据挖掘的实战应用和理解深度。
"""
废话:
    不是特别情愿写数据挖掘
    一是我觉得对我找工作没啥帮助
    二是我写了一遍自己的版本,为了考试还得再写一遍考试的版本
    但!
    为了考试,为了提(zhe)升(mo)自己,
    还是写吧
    想要喷考试首先得掌握他才能喷
    你这个b怎么内心戏这么多,写不写?
    目标:杂食性代码写手
"""

# 1.实现滑动平均ma(data, delay)函数,结果保留整数存在序列中并返回,
#                                   主函数总调用ma函数进行验证
# 不想写 if __name__ == "__main__": 这b代码我就懒得写模块调用,也不配,还主程序

def ma_(data, delay):
    ret = []
    for i in range(len(data) - delay + 1):
        tmp = []
        for j in range(delay):
            tmp.append(data[i + j])
        ret.append(sum(tmp) / delay)
    return ret

# 我的能力不足够我看这么长的列表表达式,简单的列表表达式我可以接受,这么长我不能接受,看都不想看
def ma(data, delay):
    return [sum([data[i + j] for j in range(delay)]) / delay for i in range(len(data) - delay + 1)]

a = [1437, 1532, 1503, 1498, 1524, 1552, 1542, 1632]
print(ma(a, 3))
print(ma(a, 5))

# 2.实现卡方值计算函数calCS(data),主程序用调用calCS函数进行验证

def calCS(data):
    ret = 0
    column = [sum(data[0]), sum(data[1])] # 每行的和

    row = []                            # 每列的和
    for i in range(len(data[0])):       
        row.append(data[0][i]+data[1][i])
        
    for i in range(len(data)):
        for j in range(len(data[0])):
            o = data[i][j]
            e = row[j] * column[i] / sum(column)
            ret += (o-e)**2 / e
    return ret


data = [[40, 11], [24, 19]]
print(calCS(data))
# 3. 实现特征归一函数 normalization(data, minV, maxV)


def normalization(data, minV, maxV):
    ret = []
    for i in data:
        n = (i - min(data)) / (max(data) - min(data)) * (maxV - minV) + minV
        ret.append(n)
    return ret


v0 = [1, 2, 3, 4, 5, 4, 3, 2, 1]
print(normalization(v0, -1, 1))
# 计算SMC系数和Jaccard系数

def calSMC
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值