1 环境
- 安装python 2.7
Anaconda(可选)
可以自由管理python版本
集成第三方库 - 配置spark
解压spark-1.6.0-bin-hadoop2.6.tgz
配置环境变量
SPARK_HOME: C:\sof\spark-1.6.0-bin-hadoop2.6 - 安装py4j
pip install py4j - 安装pyspark
spark-1.6.0-bin-hadoop2.6\python\lib目录解压两个压缩包,复制到:
Python27\Lib\site-packages
不建议pip install方式,会有版本问题
5.配置hadoop
2 线型回归
用直线拟合点
每个点y值和直线的距离平方和求平均最小即可
损失函数
求error最小值即可确定直线 -> 求导(导数为0)
给出x求y -> 预测
由于是一组w,正向求导求不出,反向穷举
给出随机的w -> 计算误差 -> 调整w -> 计算新误差
沿着导数绝对值减小方向调整 -> 梯度下降
调节过程需要指定步长
停止训练条件:
- error小于指定error
- 迭代次数大于指定次数
训练模型
数据集80%用于训练,20%用于测试
过拟合:
对训练集拟合好,对测试集拟合差
欠拟合:
对训练集测试集拟合都不好
过拟合 | 欠拟合 -> 模型泛化能力差 -> 调参
3 逻辑回归
做分类 推荐
k-means 做聚类
线性回归要求因变量连续,逻辑回归要求因变量是分类变量
逻辑回归公式
也叫S型函数
逻辑回归一个阈值即0.5
0.5上的点一般归于下分类,很多点位于0.5说明分类器不好
二维逻辑回归即用一条线把点分开
大于3即用一个超平面把点分开
线性不可分的情况 -> 加维度
多分类都可以分到二分类
4 时域分析 - 音乐分类
随时间变化 -> 音乐
音乐分类 -> 提取音乐特征 -> 傅里叶变换
连续测量时序信号 -> 不同频率正弦波信号无限叠加??
采样 -> 当前时刻振幅
傅里叶变换 -> 频率对应的振幅
单音轨(一维数组),wav高保真
损失函数 -> 极大似然函数求log乘负系数转凹函数 -> 导数为0求极值 -> 梯度下降
逻辑回归调优
1.有无截距
2.升维
3.调整分类阈值
对于不可接受的风险
会导致准确率下降
4.鲁棒性调优
抗干扰能力
w参数越小,抗干扰能力越强
w非常小 -> 欠拟合
L1正则化 -> 所有参数绝对值求和
L2正则化 -> 参数平方和
重写误差函数 -> 模型准确率下降
Kmeans聚类
道路拥堵预测
根据最近三段学习情况 -> 预测下一段学习情况
有监督
道路拥堵情况与邻近道路有关
拥堵与该道路前段时间的拥堵有关
严重拥堵 | 拥堵 | 缓行 | 畅通 -> 分类问题
构建训练集:
过去5小时每分钟当前道路拥堵情况和邻近道路前3分钟拥堵情况
Y: 这个卡扣当前一分钟是否拥堵
X: 邻近道路前3分钟拥堵情况
要统计每个卡口每一分钟的平均速度
使用spark streaming统计平均速度
# 查看redis所有库
config get databases
flushdb
keys *
hgetall [key]
网友评论