ordinalencoder
ordinalencoder
数据标准化:数据按照均值中心化后,再按标准差缩放,数据就会变成均值为0方差为1的正态分布
API:from sklearn.preprocessing import StandardScaler
特征工程:
去中心化:让所有记录减去一个固定值。
数据归一化:把数据按照最小值中心化后再按极差缩放,然后被收敛到0-1之间
preprocessing.minmax
:
数学基础复习:
一、微分(上)
(1)O(n) o(n)
order---多项式的阶
f(x)=O(g(x)):
f(x)=o(g(x)):
(2)
python内置类型性能分析:
timei模块
可以用来测试一小段python代码的执行速度
class timeit.Timer(stmt='pass',setup='pass',timer=<timer function>)
Timer:是测量小段代码执行速度的类
stmt:参数是要测试的代码语句
setup:参数是运行代码时需要的设置
timer:参数是一个定时函数,与平台有关
消耗时间大小:
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
数据结构与算法:
算法是一种独立的解决问题的方法和思想,语言并不重要,重要的是思想
算法的五大特性:
1.输入:算法具有0个或多个输入
2.输出:算法至少有1个或多个输出
3.有穷性:算法在有限的步骤之后就会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间范围内
4.确定性:算法中的每一步都有确定性的含义,不会出现二义性
5.可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
fsfada
Linux操作系统遵循posix。应用程序与内核的应用。
#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:不纯度,不纯的越低,训练集拟合越好
机器学习
贝叶斯学派
逆概率
pxy = px * py 独立
若不独立
条件概率
P(x|y) = P(xy) /P(y)
算法的五大特性:输入、输出、有穷性、确定性、可行性
支持向量机的分类方法,是在这组分布中找出一个超平面作为决策边界,使模型在数据上的 分类误差尽量接近于小,尤其是在未知数据集上的分类误差(泛化误差)尽量小。
决策边界一侧的所有点在分类为属于一个类,而另一侧的所有点分类属于另一个类。如果我们能够找出决策边界, 分类问题就可以变成探讨每个样本对于决策边界而言的相对位置。比如上面的数据分布,我们很容易就可以在方块 和圆的中间画出一条线,并让所有落在直线左边的样本被分类为方块,在直线右边的样本被分类为圆。如果把数据 当作我们的训练集,只要直线的一边只有一种类型的数据,就没有分类错误,我们的训练误差就会为0。
但是,对于一个数据集来说,让训练误差为0的决策边界可以有无数条。
支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。它源于统计学习理论, 是我们除了集成算法之外,接触的第一个强学习器。它有多强呢?
从实际应用来看,SVM在各种实际问题中都表现非常优秀。它在手写识别数字和人脸识别中应用广泛,在文本和超 文本的分类中举足轻重,因为SVM可以大量减少标准归纳(standard inductive)和转换设置(transductive settings)中对标记训练实例的需求。同时,SVM也被用来执行图像的分类,并用于图像分割系统。。除此之外,生物学和许多其他科学都是SVM的青睐者,SVM现在已经广泛被用于蛋白质分类,现 在化合物分类的业界平均水平可以达到90%以上的准确率。在生物科学的尖端研究中,人们还使用支持向量机来识 别用于模型预测的各种特征,以找出各种基因表现结果的影响因素。
从学术的角度来看,SVM是最接近深度学习的机器学习算法。线性SVM可以看成是神经网络的单个神经元(虽然损 失函数与神经网络不同),非线性的SVM则与两层的神经网络相当,非线性的SVM中如果添加多个核函数,则可以 模仿多层的神经网络。