机器学习
Alphapeople
这个作者很懒,什么都没留下…
展开
-
调整学习率
init_lr = 0.01optimizer = RAdam(model.parameters(), lr = init_lr, weight_decay=0.0004)def adjust_learning_rate(optimizer, epoch, init_lr): """Sets the learning rate to the initial LR decayed by 0.95 every 10 epochs""" # lr = args.lr * (0.95 ** (原创 2021-06-07 15:59:46 · 410 阅读 · 0 评论 -
聚类代码
import numpy as npfrom sklearn.cluster import KMeans,SpectralClustering# import sklearn.clusterfrom PIL import Imageimport os feats = np.load('') feats = np.squeeze(feats) kmeans_model = KMeans(n_clusters=5000).fit(feats) lables = kme.原创 2021-01-27 13:49:19 · 243 阅读 · 0 评论 -
在输入网络之前对图片的预处理代码
from PIL import Imageimport numpy as npdef letterbox_image(image, size): iw, ih = image.size w, h = size scale = min(w/iw, h/ih) nw = int(iw*scale) nh = int(ih*scale) image = image.resize((nw,nh), Image.BICUBIC) new_image =.原创 2020-12-19 17:55:03 · 564 阅读 · 1 评论 -
量化投资实操
import loggingimport pandas as pdimport numpy as nplog = logging.getLogger(__name__)def moving_average(df, n): """计算股价的moving average. 参考: https://blog.csdn.net/FrankieHello/article/details/85938381 :param df: pandas.DataFrame .原创 2020-11-25 14:45:19 · 377 阅读 · 0 评论 -
HMM代码
# 初始化词典tag2id, id2tag = {},{}word2id, id2word = {},{}#建立词典for line in open("traindata.txt"): items = line.split("/") word, tag = items[0],items[1].rstrip() if word not in word2id: word2id[word]=len(word2id) id2word[len(id.原创 2020-11-25 14:32:56 · 358 阅读 · 0 评论 -
BiLSTM+CRF命名实体识别的pytorch实现
import torchimport torch.nn as nnimport torch.optim as optimtorch.manual_seed(1)# some helper functionsdef argmax(vec): # return the argmax as a python int # 第1维度上最大值的下标 # input: tensor([[2,3,4]]) # output: 2 _, idx = torch.max(.原创 2020-11-25 14:30:34 · 1218 阅读 · 0 评论 -
各种IOUloss的pytorch实现
def bbox_iou(box1, box2, x1y1x2y2=True, GIoU=False, DIoU=False, CIoU=False): # Returns the IoU of box1 to box2. box1 is 4, box2 is nx4 box2 = box2.t() # Get the coordinates of bounding boxes if x1y1x2y2: # x1, y1, x2, y2 = box1 b.原创 2020-11-24 10:14:04 · 4108 阅读 · 4 评论 -
focalloss pytorch
class FocalLoss(nn.Module): # Wraps focal loss around existing loss_fcn(), i.e. criteria = FocalLoss(nn.BCEWithLogitsLoss(), gamma=1.5) def __init__(self, loss_fcn, gamma=1.5, alpha=0.25): super(FocalLoss, self).__init__() self.los.原创 2020-11-24 10:12:09 · 516 阅读 · 0 评论 -
lightbgm训练
#!/usr/bin/env python2# -*- coding: utf-8 -*-"""Created on Sat Mar 31 21:19:09 2018@author: hello4720"""import numpy as npimport pandas as pdimport lightgbm as lgbimport argparseimport os...原创 2020-04-07 15:51:13 · 243 阅读 · 0 评论 -
NLP文本的表示
一、计算两字符串的编辑距离二、wordtovec的方法原创 2020-04-02 09:05:03 · 142 阅读 · 0 评论 -
推荐一个很好的机器学习网站
https://www.biaodianfu.com/lightgbm.html原创 2020-03-19 17:37:21 · 482 阅读 · 0 评论 -
获取连通域及外接矩形
from skimage import color,measureimport cv2from collections import Counterimg = cv2.imread('ttttt.jpg')# #生成二值测试图像gray = color.rgb2gray(img)for i in range(490): for j in range(490): ...原创 2020-03-06 13:44:57 · 1783 阅读 · 0 评论 -
非数字化编码特征的编码及相似度计算、聚类
对于一些没有用数字进行量化的特征可以先吧所有特征进行分词,然后存储起来,生成一个维度与词汇数相同的向量,当遇到一个特征的时候就进行分词然后就将向量的哪一个索引置一import jiebawordlist = []with open('12月车系种类.txt') as f: datas = f.readlines() for data in datas: ...原创 2020-01-09 07:34:37 · 561 阅读 · 1 评论 -
一文搞定机器学习算法
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snspima = pd.read_csv('PimaIndiansdiabetes.csv')#打印关于pima的数据描述# print(pima.describe())#前25%的数,中位数,前75%的数#...原创 2019-12-18 17:48:29 · 391 阅读 · 0 评论 -
xgboost加载模型进行预测
比较好的完整示例:https://blog.csdn.net/u010159842/article/details/78053669X = train.drop(['标签', '用户标识'], axis=1)xgb_train = xgb.DMatrix(X, label=y)tar = xgb.Booster(model_file='20170201_B.model')pr...原创 2019-12-05 10:27:18 · 1785 阅读 · 1 评论 -
xgboost项目实战
import xgboost as xgbstart_time = time.time()offline = 0online = 0params = {'booster': 'gbtree', 'objective': 'rank:pairwise', 'eval_metric': 'auc', 'gamma': 0.1, ...原创 2019-12-05 10:03:24 · 713 阅读 · 0 评论 -
pandas数据分析2
import timeimport mathimport numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)import matplotlib.pyplot as pltimport matplotlib as mplimport seab...原创 2019-12-04 17:40:12 · 167 阅读 · 0 评论 -
pandas数据分析实战1
import timeimport mathimport numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)import matplotlib.pyplot as pltimport matplotlib as mplimport seab...原创 2019-12-04 17:12:28 · 229 阅读 · 0 评论 -
机器学习实战的好网站
http://www.dataivy.cn/blog/regression_with_sklearn/转载 2019-10-15 17:41:11 · 277 阅读 · 0 评论 -
NLP技术总结
分词模式分为:全模式、精确模式、搜索引擎模式。nlp常用技术:分词、命名实体识别、词性识别。nlp常用软件包:NLTK,gensim,jieba,stanfordcorenlp,hanlp。如何处理分词分错的情况:加载自定义字典。如何处理多个词组成的短语的情况:自定义语法规则。如何过滤掉不符合常规的词,比如标点符号:N-GRAM、TF-IDF当分词字典的词冲突,相互影响该...原创 2019-04-30 15:07:32 · 1467 阅读 · 0 评论 -
为什么L1正则具有稀疏性
因为L1会把很小的值压为0,将W变成了一个稀疏矩阵了,而L2则是整体的降小,只是W越大W降的越大,但是不会变成0,更能体现原始特征。因此常用L1来做特征选择。L1只和稀疏的数据发生交叉,不稀疏的地方就不交叉。...原创 2019-04-25 17:11:18 · 1122 阅读 · 0 评论 -
通俗易懂描述谱聚类
复习:实对称阵的特征值是实数因此实对称阵不同特征值的特征向量一定是正交的,这个正交是实数范围内的正交。首先我们来看什么叫谱这个字是什么意思,比如说我们唱歌的时候有一个歌谱,那个歌谱就来确定了我们这首歌它唱的旋律是什么样子,我们唱的这个歌是不是在谱上,有没有跑调对吧。而这个我们想定义一个矩阵A它的谱怎么定义呢?OK,因为矩阵A我们可以用它的特征值去做度量的。因为,那么这样的话入本身可以作为A...原创 2018-12-08 15:03:38 · 457 阅读 · 0 评论 -
TF-IDF算法应用
#encoding=utf8import jsonimport sys,os,reimport numpyfrom tokenizer import seg_sentencespattern=re.compile(u'[^a-zA-Z\u4E00-\u9FA5]')from jpype import *from sklearn.feature_extraction.text imp...原创 2019-05-06 09:04:08 · 347 阅读 · 0 评论 -
N-GRAM生成词语对
#encoding=utf8import json,reimport numpy import pandas as pdimport numpy as npimport itertoolsfrom itertools import chainfrom tokenizer import seg_sentencespattern=re.compile(u'[^a-zA-Z\u4E...原创 2019-05-05 15:54:47 · 913 阅读 · 0 评论 -
自定义语法与CFG
#encoding=utf8def exec_cmd(cmd): p = subprocess.Popen( cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, env=ENVIRON) out, err = p.com...原创 2019-05-05 15:53:05 · 845 阅读 · 1 评论 -
名词短语块挖掘
#encoding=utf8import os,json,nltk,refrom jpype import *from tokenizer import cut_hanlphuanhang=set(['。','?','!','?'])keep_pos="q,qg,qt,qv,s,t,tg,g,gb,gbc,gc,gg,gm,gp,mg,Mg,n,an,ude1,nr,ns,nt,nz,...原创 2019-05-05 15:50:56 · 639 阅读 · 5 评论 -
依存句法树解析
#encoding=utf8import re,os,jsonfrom stanfordParse import posfrom stanfordParse import parse_sentencefrom recursionSearch import searchdef split_long_sentence_by_pos(text): del_flag=['DEC','A...原创 2019-05-05 15:44:06 · 8003 阅读 · 2 评论 -
NLP剔除高频停用词
剔除高频停用词减少模型噪音,并加速训练def remove_fre_stop_word(words): t = 1e-5 # t 值 threshold = 0.8 # 剔除概率阈值 # 统计单词频率 int_word_counts = collections.Counter(words) total_count = len(words) ...原创 2019-05-06 10:05:29 · 1943 阅读 · 0 评论 -
python统计词频
def build_dataset(words): count = [['UNK', -1]] #collections.Counter(words).most_common count.extend(collections.Counter(words).most_common(vocabulary_size - 1)) # words中每个分词计数,然后按照词频降序排...原创 2019-05-06 10:14:17 · 1090 阅读 · 0 评论 -
表征学习与关系嵌入
# 6.1 语言模型词向量模型与语言模型非常紧密地交织在一起。语言模型的质量评估是基于它们对词语用概率分布的表征能力。事实上,许多最先进的词向量模型都在攻坚的任务就是已有一串词语序列,预测下一个出现的词语将会是什么。## 语言模型是干嘛的?chunking语言模型可以计算任何句子的概率。例如,“I love you too”的概率是多少?用数学语言表述,NN元语言模型(bi-gra...转载 2019-05-06 13:54:04 · 890 阅读 · 0 评论 -
sklearn kmeans聚类
import matplotlib.pyplot as pltimport numpy as npfrom sklearn.cluster import KMeansfrom geopy.distance import geodesic#先纬度后经度cout = 0#聚类的类别Cls = {}#聚类后的数据def all_list(arr): result = {} ...原创 2019-09-06 15:19:49 · 497 阅读 · 0 评论 -
centerloss
import torchimport torch.nn as nnfrom torchvision import transformsimport torchvisionfrom torch import optimimport matplotlib.pyplot as plttransform = transforms.Compose([ transforms.ToTens...原创 2019-08-17 17:53:09 · 318 阅读 · 0 评论 -
cuda矩阵运算
__global__ void matrix_mul_gpu(int *M, int* N, int* P, int width){ int i = threadIdx.x + blockDim.x * blockIdx.x; int j = threadIdx.y + blockDim.y * blockIdx.y; int sum =...转载 2019-08-02 20:46:24 · 983 阅读 · 0 评论 -
L1正则与L2正则
在损失函数后面加上参数的绝对值或者平方。正则化能防止过拟合的原因是对参数加约束在训练的时候让网络动态的变笨,从能量的角度来说其实是如果能用最少的能量来完成这件事那么就这样做,就是花费最少的成本获得同样的结果。L1会保留需要的权重,不需要的就直接压到了零,因此它的震荡是非常剧烈的。L2则是不会压到0,但是会非常接近0,因此它的权重的下降是非常平滑的。...原创 2019-06-20 11:26:23 · 170 阅读 · 0 评论 -
NMS
def NmsDo(boxs, mode): keeplists = [] #保留列表 boxsarry = np.array(boxs, dtype=np.float32) while boxsarry.shape[0] > 0: #拿到置信度最大的框的索引 maxcon_index = np.argmax(boxsarry[:,...原创 2019-06-14 20:15:57 · 226 阅读 · 0 评论 -
SLAM基础
一、刚体运动在三维空间中只有平移和旋转的运动二、图像的特征像素变化大,像素梯度大的,如角点、区块、边缘。它具有尺度不变性、旋转不变性和亮度不变性。三、特征提取对特征的定位和描述四、ORB(一种特征描述子)特征的主要步骤oFAST方法做定位rBRIEF用于描述特征FAST的基本思想:计算关键点和它周围一圈像素(比如取16个像素)的差异,如果这16个像素连续有n...原创 2019-05-17 17:14:18 · 174 阅读 · 0 评论 -
用keras實現單詞級的one-hot編碼
from keras.preprocessing.text import Tokenizer#導入分詞器sample = ['The cat sat on the mat.','The dog ate my homework.']tokenizer = Tokenizer(num_words=1000)#創建一個分詞器,設置為只考慮前1000個最常見的單詞tokenizer.fit_on_...原创 2019-05-06 16:42:44 · 118 阅读 · 0 评论 -
word2vec tensorflow
w2v_cbow:#encoding=utf8from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport collectionsimport mathimport osimport randomimport ...原创 2019-05-06 14:40:22 · 185 阅读 · 0 评论 -
TextRank算法
#-*- coding=utf8 -*-from jieba import analyse # 引入TextRank关键词抽取接口 textrank = analyse.textrank # 原始文本 text = "非常线程是程序执行时的最小单位,它是进程的一个执行流,\ 是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,\ 线程间共享进程的所有资源,每个线程有自己的堆栈和局...原创 2019-05-05 15:40:34 · 374 阅读 · 0 评论 -
线性可分支持向量机
我们知道两类样本点其实是有很多分割超平面的,那么哪条最优呢?若两个集合有部分相交,那么又如何定义超平面使得两个集合“尽量”分开呢?现在就从这两个问题入手来解决SVM分类器的目标函数是什么。假如有正例和负例两类样本点,现在就要去作一条分割线,但是这些样本的地位并不完全一样,距离直线最近的样本,算出它们离直线的距离,如果两边的不相等,那么我们总可以通过移动直线来使得样本到直线的最短距离相等。我们知...原创 2018-12-07 19:09:37 · 2573 阅读 · 3 评论