数据挖掘(作业1)
实验开始前先配置环境
以实验室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-community-2022.2.4.exe
3、打开cmd窗口,输入以下命令
conda create -n DMEv pip python=3.8
记住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 npdef 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 npdef sim_COS(x, y):num = x.dot(y.T)denom = np.linalg.norm(x) * np.linalg.norm(y)return num / denomif __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 npdef sim_Jaccard(vect1, vect2):sim=-1if(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/n2return simif __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 npdef sim_SMC(vect1, vect2):sim = -1if (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 simif __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)
相关文章:
数据挖掘(作业1)
实验开始前先配置环境 以实验室2023安装的版本为例: 1、安装anaconda:(anaconda自带Python,安装了anaconda就不用再安装Python了) 下载并安装 Anaconda3-2022.10-Windows-x86_64.exe 自己选择安装路径,其他使用默认…...
【UE4 RTS游戏】01-项目准备
步骤新建一个工程,选择俯视角游戏模板我命名工程如下:删除场景内的所有cube再删除Floor和Wall删除TopDownCharacter删除“NavgationMeshBoundVolume”删除“TamplateLabel”和“RecastNavMesh-Default”删除LightmassImportanceVolume、PostProcessVolum…...
登录系统账号检测--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
实例8:登录系统账号检测 登录系统一般具有账号密码检测功能,即检测用户输入的账号密码是否正确。若用户输入的账号或密码不正确,提示 “用户名或密码错误”和“您还有*次机会”; 若用户输入的账号和密码正确,提示“登…...
CentOS8基础篇12:使用RPM管理telnet-server软件包
一、RPM包管理工具简介 RedHat软件包管理工具(RedHat Package Manager,RPM) RPM软件包工具常用于软件包的安装、查询、更新升级、校验、卸载以及生成.rpm格式的软件包等操作。 RPM软件包工具只能管理后缀是.rpm的软件包。软件包的命名格式: 软件名称…...
IT女神文章记录之自己
匆匆时光,一转眼自己已经从一个学生转变成一个职场工作者了刚出校园的时候,对职场充满了憧憬,觉得自己可以大展身手然后其实在我毕业后2年内,踏入码农阶段的时候,是一段非常压抑的工作,不知道谁能体会到那种…...
Compose 动画 (四) : AnimatedVisibility 各种入场和出场动画效果
AnimatedVisibility中的EnterTransition 和 ExitTransition ,用来配置入场/出场时候的动画效果。 默认的入场效果是 fadeIn() expandVertically() 默认的出场效果是 fadeOut() shrinkVertically() 1. EnterTransition和ExitTransition支持的动画 enter的参数类…...
notepad++学习小技巧
不要小瞧了notepadd 这个可是我们的cv好帮手。。。 实战1背景,我找一个同事要表结构 结果他给我了一个xml。顿时一懵,我也不知道为啥好像是从前端扣下来的。 建表我只需要 columnName, displayName当作是comment, dataTypeNamecolumnType借鉴…...
Android supports-screens 屏幕适配
基本概念 supports-screens用于设置屏幕相关,处于Manifest的子标签中。 使您能够指定应用支持的屏幕尺寸,并为比应用支持的最大屏幕还大的屏幕启用屏幕兼容性模式。请务必始终在应用中使用此元素指定应用支持的屏幕尺寸。 注意:建议不要在屏…...
操作系统基础知识介绍之Mixed CriticalitySystems——混合关键系统
一、发展背景 在嵌入式场景中,虽然Linux已经得到了广泛应用,但并不能覆盖所有需求,例如高实时、高可靠、高安全的场合。这些场合往往是实时操作系统 的用武之地。有些应用场景既需要Linux的管理能力、丰富的生态又需要实时操作系统的高实时、…...
【数据结构初阶】详解链表OJ题
目录一.删除链表中等于给定值的节点二.合并有序链表并返回三.链表的回文结构1.反转单链表2.返回非空链表的中间节点四.输出链表倒数第K个节点五.基于给定值x分割单链表六.返回两个链表的第一个中间节点一.删除链表中等于给定值的节点 我们先来看第一题(题目链接): 因为我们需…...
Java基本数据类型变量自动提升、强制类型转换、String基本类型使用
文章目录基本数据类型变量自动提升特殊情况强制类型转换String基本类型使用基本数据类型变量自动提升 规则: 将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型 。 byte、short、char-->int-->…...
Redis锁与幂等性不得不说的故事
前言: 相信很多小伙伴对缓存锁都不陌生,但是简单的缓存锁想要用好还是需要一些功力。本文总结了笔者多年使用缓存所的一些心得,欢迎交流探讨~ 幂等模型: 幂等场景一般由查重写入两步操作组成,两步操作组成一个最小完…...
Spark 应用调优
Spark 应用调优人数统计优化摇号次数分布优化Shuffle 常规优化数据分区合并加 Cache优化中签率的变化趋势中签率局部洞察优化倍率分析优化表信息 : apply : 申请者 : 事实表lucky : 中签者表 : 维度表两张表的 Schema ( batchNum,carNum ) : ( 摇号批次,…...
synchronized 与 volatile 关键字
目录1.前言1.synchronized 关键字1. 互斥2.保证内存可见性3.可重入2. volatile 关键字1.保证内存可见性2.无法保证原子性3.synchronized 与 volatile 的区别1.前言 synchronized关键字和volatile是大家在Java多线程学习时接触的两个关键字,很多同学可能学习完就忘记…...
【0成本搭建个人博客】——Hexo+Node.js+Gitee Pages
目录 1、下载安装Git 2、下载安装Node.js 3、使用Hexo进行博客的搭建 4、更改博客样式 5、将博客上传到Gitee 6、更新博客 首先看一下Hexo的博客的效果。 1、下载安装Git Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本…...
【面试实战】认证授权流程及原理分析
认证授权流程及原理分析 1、认证 (Authentication) 和授权 (Authorization)的区别是什么?2、什么是Cookie ? Cookie的作用是什么?如何在服务端使用 Cookie ?3、Cookie 和 Session 有什么区别?如何使用Session进行身份验证?1、认证 (Authentication) 和授权 (Authorizatio…...
TPM命令解析之tpm2_startauthsession
参考网址链接:tpm2-tools/tpm2_startauthsession.1.md at master tpm2-software/tpm2-tools GitHub 命令名称 tpm2_startauthsession 功能 启动一个TPM会话。 命令形式 tpm2_startauthsession [OPTIONS] 描述 启动一个TPM会话。默认是启动一个试验(…...
第14章 局部波动率模型
这学期会时不时更新一下伊曼纽尔德曼(Emanuel Derman) 教授与迈克尔B.米勒(Michael B. Miller)的《The Volatility Smile》这本书,本意是协助导师课程需要,发在这里有意的朋友们可以学习一下,思…...
云原生周刊:开源“赢了”,但它可持续吗?
日前召开的 State of Open 会议上,开源“赢了”,但如果政府和企业不站出来确保生态系统在未来的弹性和可持续性,那么它仍然会失败。 OpenUK 首席执行官 Amanda Brock 在开幕式上表示,数字化和开源在过去 5 到 10 年的进步提升了工…...
读《企业IT架构转型之道》
本书还没读完,暂摘抄一些概念,因为自身做的新系统也在转型,从单体式到一体化一年来遇到很多问题有技术上的,也有团队协作的,过程是痛苦且复杂的,所以在刚翻阅前几十页时候,对于淘宝技术团队转型…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
