数据挖掘(作业汇总)

目录

环境配置

实验1 数据

作业2


环境配置

实验开始前先配置环境

以实验室2023安装的版本为例:

1、安装anaconda:(anaconda自带Python,安装了anaconda就不用再安装Python了
下载并安装 Anaconda3-2022.10-Windows-x86_64.exe

镜像站下载地址(点击即可)

自己选择安装路径,其他使用默认选项。

(1)在“Advanced Installation Options”中,
勾选“Add Anaconda3 to my PATH environment variable.”(“添加Anaconda至我的环境变量。”)。

(2)勾选“Register Anaconda3 as my default Python 3.9”。

 

2、安装pycharm(在官网安装社区版就够用了

pycharm官网

下载并安装 pycharm-community-2022.2.4.exe 

3、打开cmd窗口,输入以下命令

conda create -n  DMEv  pip python=3.8

 记住DMEV所在的磁盘路径C:\Users\dell\.conda\envs\DMEV

# 如需删除环境,使用命令

conda remove -n DMEv    --all

 安装要用到的Python库:

activate   DMEv  
pip install numpy==1.20.0 --index-url https://mirrors.aliyun.com/pypi/simple/
pip install matplotlib==3.3.4 --index-url https://mirrors.aliyun.com/pypi/simple/
pip install opencv_python==4.4.0.40 --index-url https://mirrors.aliyun.com/pypi/simple/
pip install scipy==1.6.0 --index-url https://mirrors.aliyun.com/pypi/simple/
pip install scikit-learn==0.24.1 --index-url https://mirrors.aliyun.com/pypi/simple/ 
pip install h5py==2.10.0 --index-url https://mirrors.aliyun.com/pypi/simple/ 
pip install mnist==0.2.2 --index-url https://mirrors.aliyun.com/pypi/simple/ 


4、测试

在Pycharm中创建项目时,DMEV所在的路径下选择python.exe(和上面配置的对应)


在Pycharm中新建项目,配置 interpreter,运行以下代码:(没有报错,则导入成功

import cv2 as cv
import numpy as np
from sklearn.decomposition import PCA
import mnist
import matplotlib.pyplot as plt 

实验1 数据

一、实验目的

(1)练习和掌握python的基本使用。

(2)理解数据类型、数据质量、数据预处理、相似性和相异性度量的概念

(3)理解各种相似性和相异性度量(测度)及其含义,并且能编程计算。

二、实验内容

1编程实现任意给定两个相同维度的向量之间的欧氏距离计算函数dist_E(x,y)。

输入:两个任意k维向量x和y,其中k的值随由数据决定。如x=[3,20,3.5], y=[-3,34,7]。

import numpy as np

def dist_E(vect1, vect2):
    return np.sqrt(sum(np.power((vect1-vect2),2)))

if __name__ == "__main__":
    x=np.array([3,20,3.5])
    y=np.array([-3,34,7])
    dist=dist_E(x,y)
    print(dist)

2编程实现任意给定两个相同维度的向量之间的夹角余弦相似度计算函数sim=sim_COS(x,y)。输入:两个任意k维向量x和y,其中k的值由数据决定。

import numpy as np

def sim_COS(x, y):
    num = x.dot(y.T)
    denom = np.linalg.norm(x) * np.linalg.norm(y)
    return num / denom

if __name__ == "__main__":
    x=np.array([3, 2, 0, 5, 0, 0, 0, 2, 0, 0])
    y=np.array([1, 0, 0, 0, 0, 0, 0, 1, 0, 2])
    sim=sim_COS(x,y)
    print(sim)

3编程实现任意给定两个相同维度的布尔向量之间的Jaccard系数计算函数dist1=dist_Jaccard(x,y)。

import numpy as np

def sim_Jaccard(vect1, vect2):
    sim=-1
    if(vect1.size!=vect2.size):
        print("length of input vectors must agree")
    else:
        ind1=np.logical_and(vect1==1,vect2==1)
        ind2=np.logical_or(vect1==1,vect2==1)
        x=vect1[ind1]
        y=vect2[ind2]
        n1=np.size(x)
        n2=np.size(y)
        sim=n1/n2
    return sim

if __name__ == "__main__":
    x=np.array([1, 0, 0, 0, 0, 0, 1, 0, 0, 0])
    y=np.array([1, 0, 0, 0, 0, 0, 0, 0, 0, 1])
    dist=sim_Jaccard(x,y)
    print(dist)

4编程实现任意给定两个相同维度的布尔向量之间的简单匹配系数计算函数dist1=dist_SMC(x,y)。

import numpy as np

def sim_SMC(vect1, vect2):
    sim = -1
    if (vect1.size != vect2.size):
        print("length of input vectors must agree")
    else:
        ind0 = np.logical_and(vect1 == 0, vect2 == 0)
        ind1 = np.logical_and(vect1 == 1, vect2 == 1)
        ind2 = np.logical_or(vect1 == 1, vect2 == 1)
        x = vect1[ind1]
        y = vect1[ind2]
        z=vect1[ind0]
        n1 = np.size(x)
        n2 = np.size(y)
        n3 = np.size(z)
        sim = (n1+n3) / (n2+n3)
    return sim

if __name__ == "__main__":
    x=np.array([1, 0, 0, 0, 0, 0, 1, 0, 0, 0])
    y=np.array([1, 0, 0, 0, 0, 0, 0, 0, 0, 1])
    dist=sim_SMC(x,y)
    print(dist)

作业2

1.数据的属性已知,数据的类别也已知,这样的数据叫做___________样本

我的答案:训练

2.数据的属性已知,数据的类别未知,这样的数据叫做___________样本

我的答案:测试

3.在最近邻分类算法中,可以通过KD树来加速k近邻的搜索。

我的答案:

4.已知有5个训练样本,分别为

样本1,属性为:[2,0,2]  类别 0

样本2,属性为:[1,5,2]  类别 1

样本3,属性为:[3,2,3]   类别 1

样本4,属性为:[3,0,2]   类别  0

样本5,属性为:[1,0,6]   类别 0

有1个测试样本,属性为:[1,0,2]

(1) 测试样本到5个训练样本(样本1、2、3、4、5)的欧氏距离依次为: ()()()()()。    

我的答案:1、5、3、2、4

(2) K=3,距离测试样本最近的k个训练样本依次为:样本  ()    、样本  ()  、样本 ()     

我的答案:1、4、3

(3)距离最近的k个训练样本类别依次为:类别()、类别()、类别()

我的答案:0、0、1

(4) KNN算法得到的测试样本的类别为:类别 ()

我的答案:0

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/4119.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

剑指offer JZ77 按之字形顺序打印二叉树

Java JZ77 按之字形顺序打印二叉树 文章目录Java JZ77 按之字形顺序打印二叉树一、题目描述二、双栈法三、队列reverse()法使用双栈法和队列reverse()法解决剑指offer JZ77 按之字形顺序打印二叉树的问题。 一、题目描述 给定一个二叉树,返回该二叉树的之字形层序遍…

【pytorch】深度学习模型调参策略(五):采用贝叶斯工具进行最优参数搜索及最佳步数确认

目录1.如何决定是否应用某个新的超参数配置2.参数优化工具optuna确定最终最优配置为什么在调整的探索阶段使用准随机搜索而不是更复杂的黑盒优化算法?optuna库简介pytorch实现代码搜索参数详解输出结果3.确定每次训练运行的步数使用学习率扫描选择max_train_steps初…

设置鼠标右键打开方式,添加IDEA的打开方式

一、问题描述 已下载IDEA,但是右键打开之前保存的项目文件,无法显示以IDEA方式打开。 二、解决步骤 1. 打开注册表 winR键输入regedit 2、查找路径为计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell (我找了半天没看到Class…

在芯片设计行业,从项目的初期到交付,不同的岗位的工程师主要负责什么?

大家都知道在芯片设计行业,项目是至关重要的一环。从项目的初期到交付,不同的岗位的工程师在项目的各环节主要负责什么?他们是怎样配合的?下面看看资深工程师怎么说。 一个项目,从初期到交付的过程是比较漫长的。我们知道最早的时候&#…

deskvideosys 办公行为管理软件的部署架构

deskvideosys 办公行为管理软件服务器端使用的是 B/S 架构,采用 golangvue 框架来编程,agent 端直接使用的是 vc编程框架,然后通过tcp协议连接服务器端,所以deskvideosys架构 可以作为终端安全管理,上网行为管理&#…

小程序 table组件

最近有在小程序中用table的需求,但是没有找到有符合要求的组件,所以自己弄了一个,能满足基本需求。 组件下载:https://download.csdn.net/download/weixin_67585820/85047405 引入 "usingComponents": {"table": "…

基于springboot和Web实现社区医院管理服务系统【源码+论文】分享

基于springboot和Web的社区医院管理服务系统演示开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Mave…

记录--Vue 3 中的极致防抖/节流(含常见方式防抖/节流)

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 今天给大家带来的是Vue 3 中的极致防抖/节流(含常见方式防抖/节流)这篇文章,文章中不仅会讲述原来使用的防抖或节流方式,还会带来新的一种封装方式,使用起来更简单、…

diffusion 之 cifar/mnist 数据集

diffusion 之 mnist 数据集mnist数据集ddpm/script_utils.pyscripts/train_mnist.py展示采样结果代码出处:https://github.com/abarankab/DDPMwandb的问题解决方法: step1: 按照这个https://blog.csdn.net/weixin_43164054/article/details/1…

基于kubernetes部署gitlab

目录前提下载镜像部署服务前提 已经搭建完kubernets集群并可提供服务。 下载镜像 去docker hub 下载具体版本镜像,当使用最新版本时,也建议具体制定版本号,而不是使用latest. 如 gitlab/gitlab-ce:15.10.0-ce.0 当然可以pull到本地&#x…

Linux拒绝俄罗斯开发者合入

最近在Linux社区看到这样的信息https://lore.kernel.org/all/20230314103316.313e5f61kernel.org/我们不愿意接受你们的补丁。关于上面的内容,看到有一篇这样的文章https://www.phoronix.com/news/Linux-STMAC-Russian-Sanctions由于美国对俄罗斯实施制裁&#xff0…

一次内存泄露排查

前因: 因为测试 长时间压测导致 接口反应越来越慢,甚至 导致服务器 崩溃 排查过程 1、top 查看是 哪个进程 占用 内存过高 2、根据 进程 id 去查找 具体是哪个 程序的问题 ps -ef| grep 41356 可以看到 具体的 容器位置 排查该进程 对象存活 状态…

大数据学习路线图(2023完整高清版超详细)

送福利了!超详细的大数据学习路线图来啦,2023版是首发哟!大数据学习路线图分为7个阶段,包含: 数据仓库基础-->Linux &Hadoop生态-->Hadoop-->数据仓库与ETL技术-->BI数据分析与可视化-->自研数据仓…

计算机科学与技术专业-大三-学年设计-题目

大三-学年设计题目 西南大学 计算机与信息科学学院 周竹荣 课程概述 学年设计是重要的综合性设计训练,安排在修完相关专业平台课后进行。旨在培养学生综合运用所学的基础理论和专业知识,分析、解决实际问题的能力,理论联系实际。是一次系统的…

HTML 标签和属性

一些标签 单双标签 双标签。双标签指标签是成对出现的&#xff0c;也就是有一个开始标签和一个结束标签&#xff0c;开始标签用 <标签名> 表示&#xff0c;结束标签用 </标签名> 表示&#xff0c;只有一对标签一起使用才能表示一个具体的含义。例如 <html>&…

关于线程池你了解些什么?

前言学习线程池的思维导图线程池是什么?它有什么用?虽然线程比进程更轻量级,但是每个进程所占的资源空间是有限,如果我们频繁创建和销毁线程也会消耗很多CPU资源,那么我们该如何解决这个问题呢?官方解释:线程池是一种多线程处理形式,其处理过程可以将多个任务添加到阻塞队列…

电子招标采购系统:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境&#xff0c;促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标…

Google巨大漏洞让Win10、11翻车,小姐姐马赛克白打了

早年间电脑截图这项技能未被大多数人掌握时&#xff0c;许多人应该都使用过手机拍屏幕这个原始的方式。 但由于较低的画面质量极其影响其他用户的观感&#xff0c;常常受到大家的调侃。 但到了 Win10、11 &#xff0c;预装的截图工具让门槛大幅降低。 WinShiftS 就能快速打开…

专业护眼灯什么牌子好?分享最专业护眼灯品牌排行

在日常生活中&#xff0c;照明灯具为人们提供了很多便利&#xff0c;但是对于长时间在灯光下用眼的学生跟办公族来说&#xff0c;容易导致用眼疲劳&#xff0c;甚至头晕等现象&#xff0c;所以现在普遍许多家庭都必备有护眼灯&#xff0c;能对眼睛起到缓解疲劳的作用&#xff0…

Docker安装Mysql集群(主从复制)

Docker安装Mysql集群(主从复制) 配置阿里云镜像 sudo vim /etc/docker/daemon.json插入如下镜像 {"registry-mirrors": ["https://sdiz8d27.mirror.aliyuncs.com"] }重启docker sudo systemctl daemon-reloadsudo systemctl restart docker保证images有…