:
:
数学基础复习:
一、微分(上)
(1)O(n) o(n)
order---多项式的阶
f(x)=O(g(x)):
f(x)=o(g(x)):
(2)
选择行,
选择列
选择行列
hist 直方图
from matplotlib import pyplot as plt
from matplotlib import font_manager
a=[zifuchuan]
plot.hist(a.fenzushu)
细节
计算组数=num_bin= (max(a)-nim(b)//d)
d=5
组数= 极差/组距
x轴的刻度设置
plt.xticks(range(min(a),max(a)+d,d))
plt.show()
图形大小:plt.figure(figsze=(20,8),dpi=80)
{数据}
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.可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
数组的形状
shape即可查看数组的各个维度长度(输出按三维二维依次降低,块、行、个)
reshape方法可以重新设置行列,是有返回值的,而不改变本身
有返回值才会输出
结合shape和reshape可以做到在不清楚维度长度的情况下降维
flatten可以将数组展开变成一维
数组的计算
numpy数组对数字进行+*-/计算,是对全部单元进行计算
nan>>not a number 0/0
inf>>infinite x/0
数组对数组进行计算:
不同维度的数组进行计算至少有一个维度的长度相同
广播会在缺失或者长度为1的维度上进行(不同维度的计算本质上是广播)
广播原则:如果两个数组的后缘维度,即从末尾开始算起的维度轴长相符,或者某一方的长度为1,即广播jian'r
一维数组只有0轴,二维有0、1轴,三维有0、1、2轴
reshape(0,1,2),shape输出(2,1,0)
CSV逗号分隔值文件
numpy的读取文件方法
unpack参数实现行列转置
transpose,T,swapaxes(1,0)方法实现行列转置
fsfada
numpy的索引和切片
索引从0开始
2:取得连续多行,[[2,5,6]]多一个[]取得不连续的行
:,1取得单列
:,1:取得连续列
:,[]取得不连续列
取得行列交叉的内容
取得不相邻的点
这个老师的逻辑能力和语言组织能力真的是匮乏 前言不搭后语 自己把自己绕进去了
讲的真垃圾
这课程讲的就和拿着稿子照本宣科一样
#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)