当前位置:
文档之家› Python与机器学习-- 电影数据分析(线性回归) [自动保存的]
Python与机器学习-- 电影数据分析(线性回归) [自动保存的]
Car 情报局
• 异常值处理主要用于非监督学习中,空间分布奇异点。比如:聚类(outlier)
四、去除奇异值(噪声)
异常值
#去除奇异点 df = df.loc[ (df['日均票房/万'] < 5000)]
条件:数值比较 df = df[ df['日均票房/万'] < 5000]
Car 情报局
五、归一化
Car 情报局
上机时间:8min
Car 情报局
• 数据分析与预测 • 数据可视化 • 实验报告步骤5-6 • 思考:如何画出直线?完成第7题
六、数据集的切分
Car 情报局
六、数据集的切分
Car 情报局
训练集(training set):训练集用于建立模型,简单的说就是通过训练集的数据确定拟合曲线的参数 验证集(validation set):模型选择(model selection),即做模型的最终优化及确定,用来辅助模型构
小结:10min随堂测
• 测一测你掌握了多少 • 计入课堂分(有没有认真听)
Car 情报局
• 作业完成情况
大数据1801:43人
大数据1802:48人
Car 情报局
• 实验报告上交格式:.html
全体都有:准备好英文听写
• 机器学习 • 有监督学习 • 分类 • 回归 • 聚类 • 降维 • 线性回归
验证集
测试集
train_test_split(sample_data,sample_target,test_size=0.25,train_size =None,random_state=0,stratify=y_train) • train_data:所要划分的样本特征集 • train_target:所要划分的样本类别数据 • test_size:测试样本占比,如果是整数的话就是样本的数量。默认是0.25 • train_size:训练样本的占比,如果指定了test_size按照test_size比例来
在机器学习领域中,不同评价指标(即特征向量中的不同特征就是所 述的不同评价指标)往往具有不同的量纲和量纲单位,这样的情况会影 响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标 准化处理,以解决数据指标之间的可比性。
from sklearn.preprocessing import minmax_scale
Car 情报局
工作机理 目的
一、机器学习
• 定义
Car 情报局
计算机利用已有的数据(经验),得出了某种模型(规律),并利用此模型预测未来数据 特征的一种方法。
人类学习 VS 机器学习
一、机器学习
• 应用
范围 模式识别 数据挖掘 统计学习 计算机视觉 语音识别 自然语言处理
领域 机器学习 机器学习+数据库 统计+机器学习 图像处理+机器学习 语音处理+机器学习 文本处理+机器学习
蒙特利尔大学 Intel
支持语言
Python/C++/ Java/Go
Python/C++/ Matlab
Python/C++/ BrainScript
Python/C++/Matlab/ Julia/Go/R/Scala
C/Lua/
Python
Python
Car 情报局
支持系统
Linux/Mac OS/Android/iOS
归一化: Normalization
• 什么是归一化:
归一化是将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。
• 归一化的方法:
1)最大最小标准化(Min-Max Normalization) 2)Z-score标准化方法 3)非线性归一化
• 归一化的好处:
1)归一化后加快了梯度下降求最优解的速度; 2)归一化有可能提高精度(如KNN); 注:没有一种数据标准化的方法放在每一个问题、每一个模型,都能提高算法精度和加速收敛。
Car 情报局
上机时间:15min
• 数据采集 • 数据清洗 • 实验报告步骤1-2
Car 情报局
二、数据分析
测试数据集 x_test
Car 情报局
x_train 训练数据集
y_train
机器学习 fit( ) 算法
模型
predict( )
输出结果 y_pred
y_test
评估 报告
from sklearn import linear_model x=df['放映天数'] y=df['日均票房/万'] regr = linear_model.LinearRegression() 第4行:建立线性回归方程 regr.fit(x, y) 第5行:线性回归拟合(训练)
Linux/Mac OS/Windows
Linux/Windows
Linux/Mac OS/ Windows/Android/iOS
Linux/Mac OS/ Windows/Android/iOS Linux/Mac OS/Windows
Linux
一、机器学习
• 框架
Car 情报局
库名
学习材料 丰富程度
三、数据预测与可视化展现
import matplotlib.pyplot as plt
图中有中文的处理:为正确显示中文,此外要加什么代码?
plt.title(u'放映天数与票房关系图(一元线性回归分析)') plt.xlabel(u'放映天数') plt.ylabel(u'日均票房收入\万元') plt.scatter(x, y, color='black’)
电影数据分析(线性回归)
Car 情报局
知识回顾
重点: • Python工具包的使用:
numpy\pandas\matplotlib • 数据统计与分析流程 • 柱状图(子图、标签) 难点: • 数据可视化的进阶实现
Car 情报局
作业: 配置数据分析环境、实验报告
主要教学内容
机器学习
有监督学习 线性回归 一元线性回归
建,它是可选的。 测试集(test set):是用来检验最终选择的模型的性能。
训练集
验证集
测试集
六、数据集的切分
Car 情报局
from sklearn.model_selection import train_test_split
引入包:引入模型选择模块的train_test_split
#拆分训练集和测试集
实验报告相关练习
Car 情报局
四、异常值(噪声)
异常值
Car 情报局
异常值
Car 情报局
数据集中存在不合理的值,又称离群点、噪声,会引致预测结果不准确或无法收敛…
发现异常值的方法:
• 1)简单统计分析
• 2)3δ原则
• 3)箱形图分析
异常值
异常值的处理方法常用有四种: 1. 删除含有异常值的记录 2. 将异常值视为缺失值,交给缺失值处理方法来处理 3. 用平均值来修正 4. 不处理
Car 情报局
一、机器学习
Car 情报局
•
监方督法学习:从带标签(标注)的训练样本中建立一个模式(模型),并依此模式推测新
的数据标签的算法
无监督学习:在学习时并不知道其分类结果,其目的是去对原始资料进行分类,以
便了解资料内部结构算法
半监督学习:利用少量标注样本和大量未标注样本进行机器学习,利用数据分布上
x_train, x_test, y_train, y_test = train_test_split(df[[‘放映天数’]], df[[‘日均票房/万’]], train_size=0.8, test_size = 0.2)
调用接口:指定训练集与测试集的大小,返回的测试集与训练集切分结果。
训练集
• 导入的第三方包名 • 线性回归所在的模块名 • 使用的线性回归类名 • 日期类型转换函数 • 拟合函数 • 预测函数
Car 情报局
知识回顾:机器学习
• 定义
Car 情报局
计算机利用已有的数据(经验),得出了某种模型(规律),并利用此模型预测未来数据 特征的一种方法。
人类学习 VS 机器学习
知识回顾:线性回归
第3行:分隔符是什么?列名省略后,列名取自哪里?
df=df[['上映时间','闭映时间', '票房/万’]]
第4行:注意这句话的作用,区别第5与第4行代码换顺序的时候有什么区别。
df=df.dropna()
• delimiter=';’ • df=df[['上映时间','闭映时间', '票房/万']]
支持 向量机
随机森林
二、线性回归
Car 情报局
三、一元线性回归
Car 情报局
100个散点样本,求出回归方程 构建计算图
四、sklearn中线性回归实现
Car 情报局
项目二:电影数据分析与预测
film.txt
Car 情报局
一、数据准备
#coding:utf-8
import pandas as pd df= pd.read_csv('film.txt', delimiter=';')
CNN建模 能力
RNN建模 能力
易用程度
运行速度
多GPU支持 程度
TensorFlow ★★★
Caffe CNTK MXNet Torch Theano Neon