python算法

想学习深度学习需要什么样的基础?

六月ゝ 毕业季﹏ 提交于 2019-12-19 01:06:03
想学习深度学习需要什么样的基础? 可以先看看本人另外一篇相关博客: 普通程序员转型AI免费教程整合,零基础也可自学 - 流风,飘然的风 - 博客园 http://www.cnblogs.com/zdz8207/p/ai-learn-resource.html 关于编程基础 只会 Java 语言,不会 C/C++/Python 能学习吗?或者学过 C/C++/Python,但是没有实际应用过,或者基础不好,是否可以学?是否有 Python 学习教程推荐?如果 C++/Python 基础比较薄弱,是否可以学? 【回答】可以。 在数据科学、大数据和机器学习(深度学习)领域,Python 被视作最为简洁和直接的脚本编程语言,被科研领域和工程领域广泛采用,因此 针对 Python 编程语言本身,跟随编程实战,在编程的过程中逐步了解。 事实上 Java 编程语言在大数据处理和机器学习领域的应用也十分广泛,其中涉及到 真实工程代码 的部分。注重于实际应用的编写,因此编程语言特性方面的门槛较低。 使用编写的实验程序,转化为实际的工业级代码和产品,将涉及 C/C++ 和 Java 代码的编写。由于 Java 在面向对象的基本结构上与 C++ 十分相似,因此这一块也应当不是问题。 通过学习不仅对整个机器学习、深度学习和分布式大数据实时处理有一个全面的认识,而且在非常实际的工程实践,将来找工作和职业发展

支持向量机python代码实现

*爱你&永不变心* 提交于 2019-12-19 01:05:06
训练数据 -0.214824 0.662756 -1.000000 -0.061569 -0.091875 1.000000 0.406933 0.648055 -1.000000 0.223650 0.130142 1.000000 0.231317 0.766906 -1.000000 -0.748800 -0.531637 -1.000000 -0.557789 0.375797 -1.000000 0.207123 -0.019463 1.000000 0.286462 0.719470 -1.000000 0.195300 -0.179039 1.000000 -0.152696 -0.153030 1.000000 0.384471 0.653336 -1.000000 -0.117280 -0.153217 1.000000 -0.238076 0.000583 1.000000 -0.413576 0.145681 1.000000 0.490767 -0.680029 -1.000000 0.199894 -0.199381 1.000000 -0.356048 0.537960 -1.000000 -0.392868 -0.125261 1.000000 0.353588 -0.070617 1.000000 0.020984 0.925720 -1

python——魔术方法

北城余情 提交于 2019-12-18 21:38:50
一、常用魔术方法 1.del 销毁魔术方法 触发时机:当一个对象在内存中被销毁的时候自动执行 参数:至少有一个self,接收对象 返回值:无 作用:在对象销毁的时候做一些操作 注意:程序自动调用此方法,不需要我们手动调用。 class Cat: def __init__(self,name): self.name=name print("{}来了".format(self.name)) #对象在销毁时执行 def __del__(self): print("{}走了".format(self.name)) cat=Cat("tom") # del cat print("程序结束")`` 结果: tom来了 程序结束 tom走了 2.call call():可以让类的实例具有类似于函数的行为, 进一步模糊了函数和对象之间的概念。 使用方式: 对象后面加括号,触发执行。 即:对象() 或者 类()() class Person : def __init__ ( self ) : pass def eat ( self ) : print ( "吃。。。" ) def __call__ ( self , num ) : he = 0 for i in range ( 1 , num + 1 ) : he += i print ( he ) person = Person ( )

python算法 之 递归

时光怂恿深爱的人放手 提交于 2019-12-18 16:09:44
注: 参考: https://www.runoob.com/python3/python3-examples.html 参考: 《算法图解》 环境: Visual Code Python2.7 阶乘 # -*- coding:UTF-8 -*- #!/usr/bin/env python import sys import math ''' 设置递归深度,否则在递归阶乘1000时,会报错: python maximum recursion depth exceeded(超过python递归深度) ''' sys.setrecursionlimit(2000) # 递归阶乘 def Recursion_factorial(num): if num > 1: return num * Recursion_factorial(num - 1) return 1 # python数学库 def Math_factorial(num): return math.factorial(num) if __name__ == '__main__': selectIndex = input(u'请选择计算的方式(1-递归 2-数学库):'.encode('gbk')) num = input(u'请输入数字:'.encode('gbk')) if selectIndex == 1: result =

python 实现分治法的几个例子

妖精的绣舞 提交于 2019-12-17 10:55:24
分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 3) 利用该问题分解出的子问题的解可以合并为该问题的解; 4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。 第一条特征是绝大多数问题都可以满足的,因为问题的计算复杂性一般是随着问题规模的增加而增加; 第二条特征是应用分治法的前提它也是大多数问题可以满足的,此特征反映了递归思想的应用;、 第三条特征是关键,能否利用分治法完全取决于问题是否具有第三条特征,如果具备了第一条和第二条特征,而不具备第三条特征,则可以考虑用贪心法或动态规划法。 第四条特征涉及到分治法的效率,如果各子问题是不独立的则分治法要做许多不必要的工作,重复地解公共的子问题,此时虽然可用分治法,但一般用动态规划法较好。 题目1. 给定一个顺序表,编写一个求出其最大值的分治算法。 # 基本子算法(子问题规模小于等于 2 时) def get_max(max_list): return max(max_list) # 这里偷个懒! # 分治法 版本一 def solve(init_list): n = len(init_list) if n <= 2: # 若问题规模小于等于 2,最终解决 return get_max

Python天天美味(35) - 细品lambda

旧街凉风 提交于 2019-12-17 03:21:16
lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子: def f(x): return x ** 2 print f( 4 ) Python中使用lambda的话,写成这样 g = lambda x : x ** 2 print g( 4 ) lambda表达式在很多编程语言都有对应的实现。比如C#: var g = x => x ** 2 Console.WriteLine(g( 4 )) 那么,lambda表达式有什么用处呢?很多人提出了质疑,lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。其实说的没错,lambda在Python这种动态的语言中确实没有起到什么惊天动地的作用,因为有很多别的方法能够代替lambda。同时,使用lambda的写法有时显得并没有那么pythonic。甚至有人提出之后的Python版本要取消lambda。 回过头来想想,Python中的lambda真的没有用武之地吗?其实不是的,至少我能想到的点,主要有: 1. 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。 2. 对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。 3. 使用lambda在某些时候让代码更容易理解。

Python学习笔记2(控制语句)

大城市里の小女人 提交于 2019-12-17 02:27:18
1.if条件语句 if(表达式): 语句1 else: 语句2 2.if...elif...else判断语句 if(表达式1):语句1 elif(表达式2):语句2 ... elif(表达式n):语句n else:语句m eg: #if elif else语句 score = float( input("score:")) if 90 <= score <=100: print("A") elif 80<= score <=90: print("B") elif 60<= score <=80: print("C") else: print("D") PS:编写if条件语句时,尽量避免使用嵌套语句。不便阅读,且可能忽略一些可能性 1 # 错误的嵌套语句 2 x = -1 3 y = 99 4 if(x != 0): 5 if(x > 0): 6 y = 1 7 else: 8 y = 0 9 print ("y =", y) 注意: Python代码的缩进规则。 具有相同缩进的代码被视为代码块 ,则上面的第7行的 else 语句与第4行的if对应。因此,当x!=0时,只考虑了x大于0的情况。 缩进请严格按照Python的习惯写法: 4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。 3.switch语句的代替方案

python170道面试题上

左心房为你撑大大i 提交于 2019-12-16 22:41:10
语言特性 1. 谈谈对 Python 和其他语言的区别 2. 简述解释型和编译型编程语言 3. Python 的解释器种类以及相关特点? 4. Python3 和 Python2 的区别? 5. Python3 和 Python2 中 int 和 long 区别? 6. xrange 和 range 的区别? 编码规范 7. 什么是 PEP8? 8. 了解 Python 之禅么? 9. 了解 DocStrings 么? 10. 了解类型注解么? 11. 例举你知道 Python 对象的命名规范,例如方法或者类等 12. Python 中的注释有几种? 13. 如何优雅的给一个函数加注释? 14. 如何给变量加注释? 15. Python 代码缩进中是否支持 Tab 键和空格混用。 16. 是否可以在一句 import 中导入多个库? 17. 在给 Py 文件命名的时候需要注意什么? 18. 例举几个规范 Python 代码风格的工具 数据类型-字符串 19. 列举 Python 中的基本数据类型? 20. 如何区别可变数据类型和不可变数据类型 21. 将"hello world"转换为首字母大写"Hello World" 22. 如何检测字符串中只含有数字? 23. 将字符串"ilovechina"进行反转 24. Python 中的字符串格式化方式你知道哪些? 25.

花了三个月终于把所有的 Python 库全部整理了!可以说很全面了

允我心安 提交于 2019-12-16 14:02:11
库名称简介 Chardet字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable主要用于在终端或浏览器端构建格式化的输出。 difflib,[Python]标准库,计算文本差异 Levenshtein,快速计算字符串相似度。 fuzzywuzzy,字符串模糊匹配。 esmre,正则表达式的加速器。 shortuuid,一组简洁URL/UUID函数库。 ftfy,Unicode文本工具7 unidecode,ascii和Unicode文本转换函数。 xpinyin,将汉字转换为拼音的函数库 pangu.py,调整对中日韩文字当中的字母、数字间距。 pyfiglet,Python写的figlet程序,使用字符组成ASCII艺术图片 uniout,提取字符串中可读写的字符 awesome slugify,一个Python slugify库,用于处理Unicode。 python-slugify,转换Unicode为ASCII内码的slugify函数库。 unicode-slugify,生成unicode内码,Django的依赖包。 ply,Python版的lex和yacc的解析工具 phonenumbers,解析电话号码,格式,存储和验证的国际电话号码。 python-user-agents

python猜数字游戏快速求解解决方案

和自甴很熟 提交于 2019-12-16 12:10:11
#coding=utf-8 def init_set(): r10=range(10) return [(i, j, k, l) for i in r10 for j in r10 for k in r10 for l in r10 if (i != j and i != k and i != l and j != k and j != l and k != l) ] #对给定的两组数,计算xAyB.不知道能不能更快些 def get_match_ab(target, source): la, lb = 0, 0 for (i, t) in enumerate(target): for (j, s) in enumerate(source): if s == t: if i == j: la += 1 else: lb += 1 #break this loop since we already found match break return (la, lb) #by lancer #思路很好,把原来的16次比较变成了8次 #经过timeit验证确实速度有所提高 def get_match_ab2(target, source): table = [-1] * 10 la, lb = 0, 0 for i in xrange(len(source)): table[source