程序基本格式
1.恰当空格,缩进问题
(1)逻辑行首空白用来决定逻辑行的缩进层次,从而用来决定语句的分组。
(2)语句从新行第一列开始。
(3)缩进风格统一:
①每个缩进层次使用 单个制表符或者四个空格(IDE会自动将制表符设置成4个空格)
②Python用缩进而不是{}表示程序块
2.Python 区分大小写
3.注释
(1)行注释
每行注释前加#
(2)三个连续单引号(''')
程序基本格式
1.恰当空格,缩进问题
(1)逻辑行首空白用来决定逻辑行的缩进层次,从而用来决定语句的分组。
(2)语句从新行第一列开始。
(3)缩进风格统一:
①每个缩进层次使用 单个制表符或者四个空格(IDE会自动将制表符设置成4个空格)
②Python用缩进而不是{}表示程序块
2.Python 区分大小写
3.注释
(1)行注释
每行注释前加#
(2)三个连续单引号(''')
python为解释性语言,可嵌入到C和C++语言中,也称为胶水语言
交互模式中端程序执行 ctrl + c
关闭交互窗口 Ctrl + z
#apply返回每个测试样本所在叶子节点的索引
clf.apply(xtext)
#predict返回每个测试样本的分类、回归结果
clf.predict(xtest)
#决策树 # from sklearn import tree#导入需要的模块 # clf=tree.DecisionTreeClassifier()#实例化 # clf=clf.fit(x_train,y_train)#用训练集数据训练模型 # result=clf.score(x_test,y_test)#导入测试集,从接口中调用需要的信息进行打分
citerion:不纯度,不纯的越低,训练集拟合越好
机器学习
a=[] a =[ ["高小一",1830,"北京"], ["高小二",1831,"上海"], ["高小一",1832,"北京"] ] for m in range(3): for n in range(4): print(a[m][n].end=='\t') print() #打印完一行,换行
#修改原列表,不修改新的列表排序 a.sort ##默认是升序 a.sort(reverse= true) ##降序排列 import random random.shuffle(a) ##打乱排序
【10,20,30,40,50,60,70】【-5:-3】
##倒数第五和倒数第三,包头不包尾
结果:【30,40】
【10,20,30,40,50,60,70】【::-1】
##反向提取
结果:【70,60,50,40,30,20,10】
#print列表的遍历
#account 计数 #len 列表长度
##index()获得指定元素在列表中首次出现的索引
a = ["明天出去吗?","不,要去做核酸"] a.remove('明天出去吗?') a
#bin(c)#打印二进制数
bin(c&b)
bin(c^b)亦或,相同是0,不相同是1
左移相当于*2右移相当于/2
a==3
a<<3
#字符串拼接
“3”+“2”==“32”
【10,20,30】+【5,10,100】=【10 20 30 5 10 100】
#乘法
“sxt”*3 =sxtsxtsxt
【10,20,30】*2=【10,20,30,10,20,30】
io.StringIO 可变符号串
例如:
s = 'hello.sxt'
import io
sio = io.StringIO(s)
sio
a='abcdfehunlnklnaskdkl'
a[1:5]
a[-5:]
del 变量名 #删除
算法的五大特性:输入、输出、有穷性、确定性、可行性
1.安装与开发环境
阿斯蒂芬
支持向量机的分类方法,是在这组分布中找出一个超平面作为决策边界,使模型在数据上的 分类误差尽量接近于小,尤其是在未知数据集上的分类误差(泛化误差)尽量小。
决策边界一侧的所有点在分类为属于一个类,而另一侧的所有点分类属于另一个类。如果我们能够找出决策边界, 分类问题就可以变成探讨每个样本对于决策边界而言的相对位置。比如上面的数据分布,我们很容易就可以在方块 和圆的中间画出一条线,并让所有落在直线左边的样本被分类为方块,在直线右边的样本被分类为圆。如果把数据 当作我们的训练集,只要直线的一边只有一种类型的数据,就没有分类错误,我们的训练误差就会为0。
但是,对于一个数据集来说,让训练误差为0的决策边界可以有无数条。
支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。它源于统计学习理论, 是我们除了集成算法之外,接触的第一个强学习器。它有多强呢?
从实际应用来看,SVM在各种实际问题中都表现非常优秀。它在手写识别数字和人脸识别中应用广泛,在文本和超 文本的分类中举足轻重,因为SVM可以大量减少标准归纳(standard inductive)和转换设置(transductive settings)中对标记训练实例的需求。同时,SVM也被用来执行图像的分类,并用于图像分割系统。。除此之外,生物学和许多其他科学都是SVM的青睐者,SVM现在已经广泛被用于蛋白质分类,现 在化合物分类的业界平均水平可以达到90%以上的准确率。在生物科学的尖端研究中,人们还使用支持向量机来识 别用于模型预测的各种特征,以找出各种基因表现结果的影响因素。
从学术的角度来看,SVM是最接近深度学习的机器学习算法。线性SVM可以看成是神经网络的单个神经元(虽然损 失函数与神经网络不同),非线性的SVM则与两层的神经网络相当,非线性的SVM中如果添加多个核函数,则可以 模仿多层的神经网络。