算法实践
文章平均质量分 64
conggova
数据库、大数据、数据仓库、数据挖掘
展开
-
BP神经网络的原理及Python实现
网络结构层数:2 输入个数:3 隐藏层节点数:10 输出层节点数:1数据结构用一个dict表示整个网络: {’input_layer’ : 输入节点列表 , ‘hidden_layer’ : 隐藏层节点列表 , ‘output_layer’ : 输出层节点列表 }输入节点:{‘input_value’ : num}隐藏节点:{‘bias原创 2017-09-02 10:35:53 · 1780 阅读 · 0 评论 -
蒙特卡洛方法的应用——解决“彩色砖块”问题
同贝叶斯方法一样,蒙特卡洛方法与其说是一种算法,不如说是一种思想。灵活的运用蒙特卡洛方法可以解决很多问题。比如可以用它来求pi,求pi肯定有比这更好的方法,但是蒙特卡洛方法是所需条件最少的,只是充分利用了计算机产生随机数的能力。我们不需要知道pi等于什么级数,只需要知道圆的面积等于pi*r**2。下面来看如何用蒙特卡洛方法解决一个实际问题,而且其它的方法不太容易解决。关于彩色砖块http://www原创 2017-09-23 14:29:40 · 639 阅读 · 0 评论 -
python pulp包求解整数线性规划和线性规划
以整数线性规划为例# -*- coding: utf-8 -*-import pulp as pulpdef solve_ilp(objective , constraints) : print objective print constraints prob = pulp.LpProblem('LP1' , pulp.LpMaximize) prob +原创 2018-02-06 11:26:11 · 21105 阅读 · 4 评论 -
线性规划单纯形法初探
单纯形法:将目标函数和约束变换成标准形式。 先找一个基本可行解。 判别它是否为最优解,如果不是,再找一个更好的基本可行解。例子min z = x1 + x2 s.t. 2x1 - x2 2 0 step1: 变换成标准形==> (2) ==> 0 取x3 = x1 - 2 , 则 x1 = x3 + 2 (4) 则 (2) ==> 0 (5原创 2018-02-06 11:37:18 · 822 阅读 · 1 评论 -
Multiarmed bandit problem(多臂老虎机问题)的UCB1解法简介
最近在看蒙特卡洛树搜索相关的东西,看到了这个Multiarmed bandit problem。把自己的理解整理分享一下。首先说一下Multiarmed bandit problem是什么问题 Multiarmed bandit根据我看各种介绍得到的理解是这样的一种赌博工具: 1.它有多个可操作的拉杆 2.操作每个拉杆所得的收益是随机的,但是每个拉杆收益的平均值(期望值)并不相同,有些高...原创 2018-03-09 16:01:35 · 7701 阅读 · 0 评论 -
golang搭建thrift RPC服务实践
折腾了两天,终于调通了用golang搭建的thrift rpc服务,这个过程中遇到了很多问题,而且有些问题困扰了很久,欣喜之余,觉得一定要把这些过程记下来,对于自己来说是个备忘录,对于别人来说也是不错的参考。环境的搭建首先安装go,这个用yum安装,版本1.9.4。我这里用的是thrift 0.10.0 , 不是最新的 0.11.0 , 这个两个非常的不兼容,一定要注意,thrif...原创 2018-06-14 18:49:24 · 3945 阅读 · 0 评论 -
python基于multiprocessing的通用的并行计算框架
项目介绍基于multiprocessing的通用的并行计算框架,用于计算密集型场景githubhttps://github.com/conggova/mpparallizer.git接口定义class MPParallizer(object) : @staticmethod def parallize(paras , func , threads , para_serde...原创 2018-10-26 15:22:31 · 3202 阅读 · 0 评论 -
Linux查看显卡设备信息
查看VGA设备$ lspci | grep -i vga08:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)(test_env) $ lspci -v -s 08:00.0 08:00.0 VGA compatible controller: ASPE...原创 2019-05-14 11:08:34 · 8603 阅读 · 0 评论 -
Python arg、*args、**kwargs
http://www.cnblogs.com/yunguoxiaoqiao/p/7626992.html转载 2019-05-22 10:06:12 · 2186 阅读 · 0 评论 -
MapReduce的二次排序
二次排序问题是指在归约阶段对与某个键关联的值排序,有时也称为值键转换。 利用二次排序可以使归约阶段的值是有序的。MapReduce框架对映射器生成的键排序,传入归约器的数据都是按键排序的。利用MapReduce框架完成二次排序的方法构造一个组合中间键(K , V) ,其中K是分区键,V是用来排序的值 此中间键做为Map的输出的键,Map的输出会按照此组合键排序; 定制Partitioner,不原创 2017-09-14 23:59:25 · 311 阅读 · 0 评论 -
朴素贝叶斯分类Python演示
# -*- coding: utf-8 -*-import numpy as npimport matplotlib.mlab as mlabimport matplotlib.pyplot as plt '''朴素贝叶斯分类器的原理 事件H的先验概率P(H),即无条件概率事件H在X发生时的后验概率P(H|X) 这里面H通常是指某一个分类X是指样本事原创 2017-08-24 13:24:10 · 313 阅读 · 0 评论 -
基于信息增益的决策树归纳的Python实现【CD4.5算法】
# -*- coding: utf-8 -*-import numpy as npimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltfrom copy import copy #加载训练数据#文件格式:属性标号,是否连续【yes|no】,属性说明attribute_file_dest = 'F:原创 2017-08-24 13:32:33 · 2084 阅读 · 1 评论 -
斗地主的一种牌力分析模型(脑洞)
对于一种拆牌中每一个牌型(如3334, 22),定义两个值,一个是承载力,一个是驱动力承载力:在某一个条件下,此牌型带出任意另一个牌型的可能性。比如王炸总是可以带出任意的一个牌型,那么它的承载力总是1。在某些情况下,34567也有0.9的可能性不被打住,那么它在这时候就有0.9的承载力。驱动力:在某一个条件下,此牌型可以打住(不管之后会不会被另外的牌打住)一手牌的可能性。王原创 2017-08-26 19:42:19 · 3415 阅读 · 0 评论 -
K_average聚类算法的Python简单实现
# -*- coding: utf-8 -*-#k均值算法 主要部分 简单实现from random import random'''因为单次只能收敛到局部最优解 所以需要多次尝试 最所有对象的误差的平方和最小的结果。二维数据'''#设定K值K = 3#从文本中获取对象列表src_file_name = 'F:\\study\原创 2017-08-24 19:19:37 · 408 阅读 · 0 评论 -
斗地主农民手牌的58684015种可能性
# -*- coding: utf-8 -*-'''计算斗地主一手牌的所有可能组合数原创算法'''#计算Cn x 组合数def get_combinations(n , x) : t1 = n - x if t1 x = t1 if x == 0 :原创 2017-08-24 18:52:49 · 632 阅读 · 0 评论 -
关于流通系统的流失特性的研究
# -*- coding: utf-8 -*-import numpy as npfrom random import random'''场景描述:一个由多个节点构成的流通系统,系统中存在能量的流动;如果这个系统是每个节点都是无损的,那么最终各个节点上的能量会稳定下来;稳定的状态由转移矩阵决定,与能量从哪个节点进行系统没有关系;(充分联通的系统)然而很多原创 2017-08-24 18:30:26 · 225 阅读 · 0 评论 -
马尔可夫链的演示Python
# -*- coding: utf-8 -*-import numpy as npfrom random import random#转移矩阵trans_matrix = np.array([[0.5 , 0.1 , 0.25 , 0.05], [0.15 , 0.5 , 0.2 , 0.05], [0.1 , 0.2 , 0.5 , 0.4],原创 2017-08-24 18:08:28 · 2266 阅读 · 0 评论 -
随机数对某一个范围的覆盖率的计算
# -*- coding: utf-8 -*-#import sys #sys.setrecursionlimit(1000000) #例如这里设置为一百万 from random import randomfrom math import floor'''这样一个场景:n为一个正整数m为一个正整数在【0 , n)之间产生m次随机数, 求这些随机数原创 2017-08-24 17:35:46 · 944 阅读 · 0 评论 -
计算最大的关系网络的Spark实现
from pyspark import SparkConf , SparkContextconf = SparkConf().setMaster("local").setAppName("My app")sc = SparkContext(conf=conf)'''从关系对的数据中,找出所有最大的互不关联的连通子网络源数据格式为1,22,34,5节点的关原创 2017-08-24 14:09:15 · 611 阅读 · 0 评论 -
获取频繁项集和关联规则的Python实现【先验算法】
# -*- coding: utf-8 -*-#参数设定data_file = 'F:\\user_match_stat\\itemset.txt' #文件格式csv,形如:item1,item2,item3 #每个事务占一行frequent_itemsets_save_file = 'F:\\user_match_stat\\frequent_itemsets.txt'r原创 2017-08-24 13:40:49 · 1955 阅读 · 0 评论 -
Jupyter环境的搭建以及相应的Dockerfile
pip install jupyter jupyter notebook --generate-config#生成密码,用于远程登陆python -c "from notebook.auth import passwd; print(\"c.NotebookApp.password = u'\" + passwd('123456') + \"'\")" >> /root/.j...原创 2019-06-28 13:56:41 · 1476 阅读 · 0 评论