- 博客(813)
- 资源 (3)
- 收藏
- 关注
原创 python 使用flask-socketio
安装flask-socketiopip install flask-socketio服务端from flask import Flask, render_templatefrom flask_socketio import SocketIO, emitapp = Flask(__name__)app.config['SECRET_KEY'] = 'secret_key'socketio = SocketIO()socketio.init_app(app, cors_allowed_or
2022-05-29 10:31:19
1994
2
原创 Elasticsearch 8.2:多节点集群搭建与Python连接
Elasticsearch搭建当前有两个服务器,ip分别为192.168.171.81和192.168.171.25,我们需要搭建一个es集群。首先下载elasticsearch-8.2.0-linux-x86_64.tar.gz,分别拷贝到这两台服务器中,进行解压。需要注意的是,我们要在启动Elasticsearch服务之前,就需要配置elasticsearch.yml。在第一台服务器修改config/elasticsearch.yml,内容如下:network.host: 192.168.17
2022-05-26 19:43:15
2251
原创 Elasticsearch8重置elastic用户密码
如果Elasticsearch忘记了超级管理员的密码,可以进行重置:./bin/elasticsearch-reset-password -u elastic -i-u表示需要修改的用户名-i 表示交互式,可以自己指定密码,默认的是系统自动分配。
2022-05-19 16:57:21
4399
原创 python连接Elasticsearch8.x
1. 不使用用户名密码连接Elasticsearch8.x默认会开启安全连接,因此我们在第一次安装配置Elasticsearch时需要将安全策略关闭。关闭方式就是修改elasticsearch.yml文件,在文件中添加:xpack.security.enabled: falsexpack.security.http.ssl.enabled: false使用pip install elasticsearch安装Python的关于es的依赖包,安装完成之后查看:>> pip list |
2022-05-09 17:39:02
5577
3
原创 elasticsearch 8.0 python使用API操作
1. 初始化esfrom elasticsearch import Elasticsearches = Elasticsearch([{'host': '192.168.171.81', 'port': 9200}], timeout=3600)2. 创建indexrequest_body={ "mappings": { "properties": { "name": {"type": "keyword"}, "age": {"t
2022-05-06 18:02:30
2978
原创 vscode运行conda出现 “无法加载文件C:\Users\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本” 的错误
首先在Windows搜索框中查找powershell,并以管理员身份运行。执行:get-ExecutionPolicy,回复Restricted,表示执行策略是禁止的。执行:set-ExecutionPolicy RemoteSigned,将执行策略设置为RemoteSigned,因为当前用户的执行策略优先于为本地计算机设置的执行策略。...
2022-03-03 11:16:11
2831
原创 最新elasticsearch 8.0 安装配置
2022 年 2 月 11 日,Elastic 8.0 正式发布。这里进行试用。首先下载elasticsearch-8.0.1-linux-x86_64.tar.gz,并解压修改配置文件elasticsearch.yml:cluster.name: elasticsearchnode.name: node-1node.attr.rack: r1path.data: /home/$USER/app/elasticsearch-8.0.1/data/path.logs: /home/$USER/
2022-03-02 13:48:32
8539
原创 linux 通过lvm合并磁盘
服务器新增了磁盘:/dev/sdc,/dev/sdd,/dev/sdb,/dev/sdb,并且每个下面都有一个分区,我们需要把他们合并成一个磁盘分区。这里使用lvm首先先卸载:umount /dev/sdcumount /dev/sddumount /dev/sdbumount /dev/sde安装lvm2:sudo apt install lvm2开启lvm服务:systemctl enable lvm2-lvmetad.servicesystemctl enable lvm2-l
2022-01-25 15:07:47
1796
原创 java 使用maven 打包 添加本地lib包
pom.xml中引入三方jar:<dependency> <groupId>test</groupId> <artifactId>test(名字可以自己定)</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>C:/lib/test.jar 本地jar包的绝对.
2021-12-31 13:56:47
3859
原创 DataWhale sklearn学习笔记(一)
线性回归数据生成:生成数据的思路是设定一个二维的函数(维度高了没办法在平面上画出来),根据这个函数生成一些离散的数据点,对每个数据点我们可以适当的加一点波动,也就是噪声,最后看看我们算法的拟合或者说回归效果。import numpy as npimport matplotlib.pyplot as plt def true_fun(X): # 这是我们设定的真实函数,即ground truth的模型 return 1.5*X + 0.2np.random.seed(0) # 设置随机
2021-12-13 12:46:17
1871
转载 sklearn下的ROC与AUC原理详解
ROC全称Receiver operating characteristic。定义TPR:true positive rate,正样本中分类正确的比率,即TP/(TP+FN),一般希望它越大越好FPR:false negtive rage,负样本中分类错误的比率,即FP/(FP+TN),一般希望它越小越好ROC曲线:以FPR作为X轴,TPR作为y轴roc_curve函数的原理及计算方式要作ROC曲线,需要计算FPR及对应的TPR。对于一个给定的预测概率,设定不同的阈值,预测结果会不一样。例如我
2021-12-10 09:53:38
2235
原创 Pytorch教程(十九)torch.cat与torch.stack的区别
这一节,将分析拼接(concatenating)和叠加(stacking)张量的区别。首先看三个例子,一个是pytorch,一个是TensorFlow,一个是numpy。stack和cat张量之间的区别可以用一句话描述:Concatenating joins a sequence of tensors along an existing axis, and Stacking joins a sequence of tensors along a new axis.也就是说cat是在已有的轴上进行
2021-12-05 18:03:15
1588
原创 creating a tensor from a list of numpy.ndarray is extremely slow Please consider converting the lis
我的代码如下node_2_neg_list = [torch.LongTensor(node) for node in node_2_negative]其中node_2_negative是一个list,里面有16个元素:每个元素又是一个list,里面与10个元素:而每个元素中又包含10个元素:所以这是一个list嵌套list的情况,而我们执行上面的代码,提示信息:creating a tensor from a list of numpy.ndarray is extremely slo
2021-12-04 15:26:53
7170
原创 DGL教程【五】使用自己的数据集
如果想构建自己的数据集,应该继承dgl.data.DGLDataset类,并且实现下面的方法:__getitem__(self,i):得到数据集的第i个数据,__len__(self):数据集的大小process(self):从硬盘加载和处理原始数据这里使用一个小数据集Zachary’s Karate Club network,包含:menbers.csv文件包含每个成员的属性interactions.csv文件包含两个成员的关系import urllib.requestimport
2021-11-26 15:34:58
4408
6
原创 DGL教程【四】使用GNN进行链路预测
在之前的介绍中,我们已经学习了使用GNN进行节点分类,比如预测一个图中的节点所属的类别。这一节中我们将教你如何进行链路预测,比如预测任意两个节点之间是不是存在边。本节你将学到:构建一个GNN的链路预测模型在一个小的DGL数据集上训练和评估模型链路预测在很多应用中,例如社交推荐、商品推荐以及知识图谱补全中都存在链路预测,就是判断两个节点之间是不是存在一条边。本节将使用论文引用关系数据集,判断两篇论文是否存在引用关系。这个教程将链路预测定义为一个二分类的问题:将图中的每个边都视为正样本对不
2021-11-26 14:40:07
7325
17
原创 稀疏矩阵之scipy
>>> # Constructing a matrix using ijv format>>> row = np.array([0, 3, 1, 0])>>> col = np.array([0, 3, 1, 2])>>> data = np.array([4, 5, 7, 9])>>> coo_matrix((data, (row, col)), shape=(4, 4)).toarray()array
2021-11-25 22:01:58
672
原创 DGL教程【三】构建自己的GNN模块
有时,利用现有的GNN模型进行堆叠无法满足我们的需求,例如我们希望通过考虑节点重要性或边权值来发明一种聚合邻居信息的新方法。本节将介绍:DGL的消息传递API自己实现一个GraphSage卷积模型消息传递GNNDGL遵循消息传递范式,很多GNN模型往往都遵循下面的这个架构:DGL 称M(l)M^{(l)}M(l)为一个消息函数,∑\sum∑是一个聚合函数,U(l)U^{(l)}U(l)是一个更新函数。需要注意的是这里的∑\sum∑可以代表任意一个方法,而不仅仅是一个求和函数。例如大名鼎
2021-11-25 21:35:33
1863
原创 DGL教程【二】如何通过DGL表示一个Graph
通过本节,将学到:从头开始用DGL构建一个Graph给Graph添加节点和边的特征获取一些图的信息,如节点的度或节点的其他属性将DGL graph 转换到另一个graph加载、保存DGL graph从头构建GraphDGL通过DGLGraph对象来创建一个有向图,我们可以直接通过指定节点,以及src节点和target节点来创建一个graph。节点的id从0开始。例如下面一段代码构建了一个有向星型图,共有6个节点,中心节点的id是0,边分别是从中心到叶子节点。import dglimp
2021-11-24 22:02:15
3315
1
原创 DGL教程【一】使用Cora数据集进行分类
首先安装dglpip install dgl -i https://pypi.douban.com/simple/加载Cora数据集import dgl.datadataset = dgl.data.CoraGraphDataset()print('Number of categories:', dataset.num_classes)这样会自动下载Cora数据集到Extracting file to C:\Users\vincent\.dgl\cora_v2\目录下,输出结果如下:Dow
2021-11-24 21:12:19
6917
8
原创 pandas读取excel,设置默认读取类型
读取excel的时候,需要将float转为str,代码如下:country_df = pd.read_excel('data0818/A_DATA.xls', dtype=str)print(country_df.to_json(orient="records"))
2021-11-22 15:05:57
2862
原创 Pytorch教程(十八)tensor的保存为csv,并加载
保存有一个tensor数据需要保存,这时训练好的一个节点embedding:我们需要把结果保存下来:刚开始使用的是:np.savetxt('./obj/model.csv',model.encode().numpy(),fmt='%.2f',delimiter=',')但是运行报错:提示说要使用tensor.detach().numpy()detach()方法的作用是从计算图中脱离出来。返回一个新的tensor,新的tensor和原来的tensor共享数据内存,但不涉及梯度计算,即req
2021-11-19 11:22:41
11313
2
原创 PYG教程【五】链路预测
链路预测是网络科学里面的一个经典任务,其目的是利用当前已获取的网络数据(包含结构信息和属性信息)来预测网络中会出现哪些新的连边。本文计划利用networkx包中的网络来进行链路预测,因为目前PyTorch Geometric包中封装的网络还不够多,而很多网络方便用networkx包生成或者处理。环境配置首先,安装一个工具包,DeepSNAP。这个包提供了networkx到PyTorch Geometric的接口,可以方便地将networkx中的网络转换成PyTorch Geometric所要求的数据格
2021-11-18 22:22:46
6781
6
原创 【转】节点预测与边预测任务实践
节点预测与边预测任务实践引言在此小节我们将利用在上一小节6-1-数据完整存于内存的数据集类中构造的PlanetoidPubMed数据集类,来实践节点预测与边预测任务。注:边预测任务实践中的代码来源于link_pred.py。节点预测任务实践之前我们学习过由2层GATConv组成的图神经网络,现在我们重定义一个GAT图神经网络,使其能够通过参数来定义GATConv的层数,以及每一层GATConv的out_channels。我们的图神经网络定义如下:class GAT(torch.nn.Module
2021-11-18 21:25:31
2348
原创 sklearn.metrics中的roc_auc_score理解以及使用
import numpy as npfrom sklearn import metricsimport matplotlib.pyplot as pltlabel=np.array([1,1,-1,-1])scores=np.array([0.7,0.2,0.4,0.5])fpr,tpr,thresholds=metrics.roc_curve(label,scores)print('FPR:',fpr)print('TPR:',tpr)print('thresholds:',thresho
2021-11-18 16:30:14
1683
原创 PYG教程【四】Node2Vec节点分类及其可视化
本文主要是介绍如何用PyTorch Geometric快速实现Node2Vec节点分类,并对其结果进行可视化。整个过程包含四个步骤:导入图数据(这里以Cora为例)创建Node2Vec模型训练和测试数据TSNE降维后可视化Node2vec方法的参数如下:edge_index (LongTensor):邻接矩阵embedding_dim (int):每个节点的embedding维度walk_length (int):步长context_size (int):正采样时的窗口大小wal
2021-11-18 11:52:27
4129
原创 PYG教程【三】对Cora数据集进行半监督节点分类
Cora数据集PyG包含有大量的基准数据集。初始化数据集非常简单,数据集初始化会自动下载原始数据文件,并且会将它们处理成Data格式。如下图所示,Cora数据集中只有一个图,该图包含2708个节点,10556条边,节点类别数为7,特征维度为1433。并且默认已经对数据集进行了划分,分为了训练集、验证集和测试集。然后看看节点特征和标签。x为节点特征矩阵,维度为2708*1433。y为节点标签向量,维度为2708,类别为7。用GCN进行半监督节点分类接下来就可以构建一个简单的GCN模型,在Co
2021-11-18 10:24:04
2276
7
原创 PYG教程【二】使用networkx创建一个PYG图
上面通过torch_geometric自带的方式创建了一个图,本节使用networkx包来创建一个图,代码如下:首先利用networkx创建edge数据:import numpy as npimport networkx as nximport matplotlib.pyplot as pltG = nx.Graph()edgelist = [(0,1),(0,2),(0,3),(1,3)]G.add_edges_from(edgelist)fig = plt.figure()ax =
2021-11-17 19:16:16
3686
2
原创 使用matplotlib 画多个networkx图
import numpy as npimport networkx as nximport matplotlib.pyplot as pltG = nx.Graph()edgelist = [(0,1),(0,2),(0,3),(1,3)]G.add_edges_from(edgelist)fig = plt.figure()ax = fig.add_subplot(1,2,1)option = {'font_family':'serif', 'font_size':'15', 'fon
2021-11-17 18:05:09
884
原创 sublime4 相关配置以及安装pretty json 并绑定快捷键
安装pretty json在windows下面使用快捷键ctrl+shift+p,在mac下使用快捷键cmd+shift+p输入Install Package Control,安装package control安装完package control之后,使用Ctrl+shift+p 输入Pretty JSON:Format JSON,然后就开始下载了设置快捷键开始菜单->preferences->key Bindings输入:[ {"keys": ["alt+ctrl+j"],
2021-11-12 16:06:27
7841
原创 利用pickle保存模型
当我们训练完成一个模型后,我们需要将模型保存起来,以便下次方便使用。picklepickle是python自带的保存模型的方法。保存模型:from sklearn import svmfrom sklearn import datasetsimport pickleclf = svm.SVC() # 创建一个SVC模型iris = datasets.load_iris()X, y = iris.data, iris.targetclf.fit(X, y) # 训练模型# 保存模型
2021-11-11 21:49:29
3576
原创 sklearn 学习曲线Learning Curve和 validation_curve
学习曲线是什么?简单来说,就是用学习曲线(learning curve)来判断模型状态:过拟合还是欠拟合。学习曲线是根据不同训练集大小,模型在训练集和验证集上的得分变化曲线。也就是以样本数为横坐标,训练和交叉验证集上的得分(如准确率)为纵坐标。learning curve可以帮助我们判断模型现在所处的状态:过拟合(overfiting / high variance) or 欠拟合(underfitting / high bias,模型欠拟合、过拟合、偏差和方差平衡 时对应的学习曲线如下图所示:(1
2021-11-11 17:04:48
5375
原创 利用sklearn 交叉验证训练参数
from sklearn.model_selection import cross_val_scoreimport matplotlib.pyplot as pltk_range = range(1, 31)k_scores = []for k in k_range: knn = KNeighborsClassifier(n_neighbors=k) scores = cross_val_score(knn, iris_X, iris_y, cv = 10, scoring = 'a
2021-11-11 16:12:46
1159
原创 sklearn LinearRegression
from sklearn import datasetsfrom sklearn.linear_model import LinearRegressionimport matplotlib.pyplot as pltloaded_data = datasets.load_boston()data_X = loaded_data.datadata_y = loaded_data.targetmodel = LinearRegression()model.fit(data_X, data_y)
2021-11-11 13:47:57
2447
原创 混淆矩阵、精确率、召回率、F1值、ROC曲线、AUC曲线
假设一个分类器A,分类器A的作用是告诉你一张图片是不是汉堡,我们如果想知道这个分类器的效果到底好不好,如何做?最简单的方法就是将手机里所有的图片都扔给分类器A看,让分类器告诉我们哪些是汉堡我们无法直观的看到这个分类器的效果怎么样,有没有一种更好地办法来直观而又不损失信息的表示它的实验结果。一张图片的真实类别有两种情况(是汉堡,不是汉堡),分类器的预测类别也可以告诉我们两种情况(是汉堡,不是汉堡)。所以得到下面这张图,这张图就是混淆矩阵(Confusion Matrix):根据混淆矩阵,我们看到薄
2021-10-29 00:22:00
4389
1
原创 logstash 从es导出csv
input { elasticsearch { host => "http://xx:9200" index => " " query => '{"query":{"bool":{}}}' }}output { csv { fields => ["",""] path => "/mnt/path.csv" csv_option => {"forch_quotes" => true} }}
2021-10-22 11:46:40
1445
原创 原创 Pytorch教程(十七):实现最简单的CNN
上面定义了一个简单地神经网络CNN,它包含了两个卷积层,三个全连接层(又叫先行层或者Dense层),我们的每一层都扩展了pytorch的神经网络模块类,并且在每一层中有两个东西默认封装在里面,一个forward前向传播方法和一个权重张量,每层中的权重张量包含了随着我们的网络在训练过程中学习而更新的权重值,这就是我们在我们的Network类中指定的层作为类属性的原因。在Linear层中,我们使用了权重张量:这个权重张量将被我们的Network类继承,并且作为我们网络可学习的参数,在Module中的定义.
2021-10-17 23:04:31
3392
原创 Pytorch教程(十六):FashionMNIST数据集DataSet DataLoader
torchvision.datasets由于MNIST数据集太简单,简单的网络就可以达到99%以上的top one准确率,也就是说在这个数据集上表现较好的网络,在别的任务上表现不一定好。因此zalando research的工作人员建立了fashion mnist数据集,该数据集由衣服、鞋子等服饰组成,包含70000张图像,其中60000张训练图像加10000张测试图像,图像大小为28x28,单通道,共分10个类,如下图,每3行表示一个类。所以我们通过torchvison来处理FashionMNIST
2021-10-14 09:23:21
10248
原创 Pytorch教程(十五):element-wise、Broadcasting
t1 = torch.tensor([ [1,2], [3,4]], dtype=torch.float32)t2 = torch.tensor([ [9,8], [7,6]], dtype=torch.float32)我们先创建了两个秩为2,形状为KaTeX parse error: Undefined control sequence: \tmes at position 3: 2 \̲t̲m̲e̲s̲ ̲2的张量,这意味着我们有两个轴,他们都有两个元素的长度,
2021-10-07 21:35:07
2309
原创 Pytorch教程(十四):stack、flatten
stackt1 = torch.tensor([ [1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]])t2 = torch.tensor([ [2,2,2,2], [2,2,2,2], [2,2,2,2], [2,2,2,2]])t3 = torch.tensor([ [3,3,3,3], [3,3,3,3], [3,3,3,3], [3,3,3,3]])t =
2021-10-05 17:45:39
441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅