特征值(具体特征:身高/体重)->目标值(具体要达到的目的:如区分男女)
特征值(具体特征:身高/体重)->目标值(具体要达到的目的:如区分男女)
数据降维
1.特征选择
2.主成分分析
MinMaxScaler(feature_range=())
feature_range 可以指定在一定的数值范围内
tf idf
tf:term frenquency词的频率 出现的次数
idf:inverse document frequency 逆文档频率
log(总文档数量/该词出现的文档数量)
重要性程度
countvectorizer没有参数
文本都是放在列表里面的可迭代对象
性能瓶颈,读取速度
格式不太符合机器学习要求数据的格式
可用数据集:
Kaggle
UCI
scikit-learn
机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测
1. 解放生产力
2.解决专业问题
3.提供社会便利
SST (总方差)= SSE() + SSR (残差平方和)
只有无偏估计下成立,否则 SST≥SSE+ SSR
局部加权
最重要的问题: 如何度量权重
Logistic回归
p(y|x:θ) y=0, y=1时,写成上述密度函数形式
解法1: 从mle求解
极大似然估计的梯度上升算法,本质与梯度下降无区别,梯度上升取正梯度方向,同样设置步长a;梯度下降选取负梯度方向,
线性回归: 假定服从高斯分布,通过MLE进行估计
logistics回归: 假定服从二项分布,通过MLE进行估计
如果都进行梯度下降法估计,会发现求解的方式都是一样的
广义线性模型的定义: 因变量不服从正态分布,且因变量与自变量不存在线性关系;广义就是要找一个非线性的关系f,使得转换后更接近因变量的分布
证明是一个广义的线性模型:
对数线性模型:
从对数模型理解 logistics函数
一方面: 从 ln(p/(1-p)) = θx 推导出 p = logistics函数,说明希望对数模型是线性的,从而推导出概率可以用logistics函数表示
另一方面: 从 p=logistics函数 + ln(p/(1-p))对数模型,推导出对数模型是线性的θTx
广义线性模型 → 相似的梯度下降方法
解法2: 从损失函数进行求解
(1)对 -1, 1转换为0, 1 进行(yi+1)/2...
softmax回归
鸢尾花数据
分为三个 二分类问题,算出三个AUCi值
micro: 直接算三个平均AUCi,得出AUC
macro: 总体加和,当作一个AUC计算
假设: 误差ξ服从高斯分布(0, δ)
①最大化似然函数,对l(θ)进行简化
max l(θ) 等价于 min(J(θ))
注意:
(1)是关于θ的函数,最大化θ参数
(2)J(θ)是一个xTx的凸函数,因为xTx是半正定的,开口向上,xTxθTθ就是关于θ的开口向上的二次函数
(1)L2正则,进行对θ惩罚 -- Ridge回归
L1正则, -- Lasso回归
1 拉格朗日角度进行解释
(1) 原本的目标: 希望θ=0就计0,不等于0就计为1,惩罚θ>0时候的数目,但是由于是无解的,因此用L1范数进行近似
推导看手稿:
2 几何解释:
L1约束使得某一个wi是0,稀疏约束
L2使得两个wi都比较小,约束
(1)坐标轴下降法
(2)近端梯度近似法... 其余还有很多
(1)当x可逆, θx =y可以直接进行求解,不用进行目标函数最小化求解,因此可以利用SVD进行奇异值分解,求出伪逆矩阵后进行求解
假设1:p(Ai) 概率相似
P(D|Ai): 给定结论Ai下, 这个数据以多大的概率产生。 可以理解为x1..xn是未知的数据参数,θi是已知的参数,能够使 p(x1..xn|θi)最大的参数θi,就是我们想要估计的参数, 这里xi对应D,Ai对应参数θ
公平赔率; y = 1/p y是赔率,p是赢的概率
赔率公式 y =a/p
计算庄家盈亏:
10.5% = 0.21 a / 2a
2 PCA
2.1 原理
①求协方差矩阵
② 特征值排序
③ 方差最大的就认为是主要的方向,其中特征向量相互垂直,每一个特征向量就是一个方向,Aμi的方差最大,就认为是最主要的投影方向
①假定样本已经作了中心化,所以忽略均值E
Q 为什么特征值最大 等价于 求方差最大?
PCA中希望投影的方差最大,认为得到的信息最多。
目标函数:
加上等式约束 μTμ=1, 根据拉格朗日求解,
aJ/aμ = 2ATAμ +2λμ = 0 ,求得λ就是 ATA的特征值。
因此,方差最大 等价于 最大特征值
2.2 过拟合问题
使用高阶的特征x1^2, x2^2...,特征过多,虽然会得到弯曲的曲线进行分离,但是很有可能产生过拟合问题
决策树不需要做one-hot编码
6.1 Prime
计算素数:
fliter(函数, x): 把数字放入x中,结果输出
让机器学习程序替换手动步骤,减少企业的成本,也提高企业的效率
# 回归
## 一、线性回归
- 离散型数据:分类
- 连续型数据:回归
### y=kx+b
### 多个变量的情况
# 数据清洗和特征选择
## fuzzeywuzzy模糊查询
- 任何一次插入,修改和删除算作一次过程+1
# 非监督学习
## k-means (聚类)
> 聚类做在分类之前
# 分类算法:逻辑回归
> 逻辑回归:线性回归的式子作为输入,解决二分类问题, 也可以得出概率值
## 1、应用场景(基础分类问题:二分类)
- 广告点击率
- 是否为垃圾邮件
- 是否患病
- 金融诈骗
- 虚假账号
## 2、广告点击
- 点击
- 没点击
## 3、逻辑回归的输入与线性回归相同
# 模型的保存和加载
from sklearn.externals import joblib
## 过拟合与欠拟合
> 问题:训练集数据训练得很好,误差也不大,在测试集上有问题 原因:学习特征太少,导致区分标准太粗糙,不能准确识别处目标
- 欠拟合:特征太少
- 过拟合:特征过多
特征选择:
- 过滤式:低方差特征
- 嵌入式: 正则化,决策树,神经网络
## 2、线性回归策略
> 预测结果与真实值有误差
> 回归:迭代的算法,知道误差,不断减小误差,
### 损失函数
- 最小二乘法之梯度下降
scikit-learn:
- 优点:封装好,建立模型简单,预测简单
- 缺点:算法的过程,有些参数都在算法API内部优化
## 集成学习方法-随机森林
### 集成学习方法
> 通过建立几个模型组合来解决单一预测问题。工作原理是生成多个分类器/模型,各自独立地学习和做出预测,这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。
### 随机森林
> 在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。多个决策树来投票
### 随机森林建立多个决策树的过程
# 分类算法:决策树、随机森林
## 1、认识决策树
### 决策树的划分
## 2、信息的度量和作用
> 信息的单位:比特
### 信息熵
> 信息和消除不确定性xiang'guan