【线性回归】
1.线性回归入门
1.1数据生成
设定一个二位函数,生成离散数据点,对每个数据点加噪声(波动),最后看算法的拟合(回归效果)。
(1)导入numpy处理数据
(2)导入matplotllib作图
(3)定义一个函数 wx+b
设置随机种子、设置采样数据点个数
(4)生成随机数据作为训练集、加噪声
1.2定义模型
From import直接从sklearn库中导入线性回归模型,然后定义模型model=
这个类的输入参数少,不需要多加设置,直接训练 model.fit( ),然后输出模型参数w、b
将得到的wb与设置的wb对比
1.3模型测试与比较
2.多项式回归
选一批数据测试,通过画图看看算法模型与实际模型的差距。
更复杂更高维的情况:多项式回归
思路:先将m次多项式转化为m线性回归方程,再用线性回归方法求出参数。
将多项式特征分析器和线性回归串联,算出线性回归的参数之后倒推回去。
【逻辑回归】
二分类任务
假设函数
损失函数:用来衡量模型的好坏。用极大似然估计法定义损失函数。
根据凸优化理论,由梯度下降法求出最优解。
训练算法:输入:训练数据、训练标签。矩阵形式
输出:训练好的模型参数
初始化模型参数、迭代次数、学习率
【语法笔记】
1.
> np.random.seed(x)
> np.random.randn(n)
取一组随机数,这一组编号为x
从编号为x的这组数里,选前n个出来
注:只调用一次seed(),两次的产生随机数不同;调用两次seed(),两次产生的随机数相同;调用两次同一编号的seed,取的n不同,产生的随机数会从同一组seed中出来,只是数量n不同。
2.
> np.sort(a,1)将数组a按行排序。1可以不写,默认为1
(a,0)按列排序
> a.reshape(x,y,z)
将数组a重新排列为x行y列z维的数组