一、知识点
什么是特征和标签?
特征是数据的属性、特点
标签是对数据的(预测结果)评定
以某个人对歌曲的评价举例:
训练数据和测试数据分别用来做什么?
一般做预测分析时,会将数据分为两大部分。一部分是训练数据(Test Data),用于构建模型,一部分是测试数据(Test Data),用于检验模型。但是,有时候模型的构建过程中也需要检验模型,辅助模型构建,所以会将训练数据在分为两个部分:1)训练数据;2)验证数据(Validation Data)。验证数据用于负责模型的构建。具体的是:
训练数据:用于模型构建;
验证数据:可选,用于辅助模型构建,可以重复使用;
测试数据:用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。
通常从数据集中抽取80%的数据为训练数据,另外20%的数据为测试数据。
什么是决策面?
机器学习在解决分类问题时会定义一个决策面,决策面通常会位于不同类之间的某个位置上,当有新数据输入时,以决策面为边界,可以判断新数据属于哪个分类。
如何判断分类结果的准确性?
通常使用正确率这个指标来衡量机器模型的好坏,正确率可以通过测试数据集得到,正确率是指给模型输入数据以后,模型预测的结果中,正确分类的数据个数占测试数据集中所有数据集的比率。
什么是逻辑回归?
逻辑回归是一种分类算法,不是一种回归算法,确切地说,逻辑回归是一种二分分类算法
使用线性回归无法解绝二分分类问题,如下图:
逻辑回归的核心是逻辑函数
上图中的参数z为回归函数
逻辑函数所表示的意思为:
在机器学习模型中,分类问题的本质是将训练数据的特征和标签转化为一个决策面,逻辑回归函数得到概率值之后,通过决策面将概率值映射到标签为0或1上,如果逻辑函数的道德概率值大于等于0.5,则标签为1;如果逻辑函数的道德概率值小于0.5,则标签为0
如何用Python实现逻辑回归?
提取特征和标签
建立训练数据和测试数据
使用训练数据,建立训练模型
评估模型准确率
计算通过考试的概率
逻辑函数的过程
3种数据分类
分类与回归的区别
知识点
二、逻辑回归分类案例实操
1. 建立数据集
2. 提取特征和标签
3. 绘制散点图
4. 建立训练数据集和测试数据集
train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取训练数据(train)和测试数据(test)
第一个参数:所要划分的样本特征
第2个参数:所要划分的样本标签
train_size:训练数据占比,如果是整数的话就是样本的数量
sklearn包0.8版本以后,需要将之前的sklearn.cross_validation
换成sklearn.model_selection
所以课程中的代码from sklearn.cross_validation import train_test_split
更新为下面的代码from sklearn.model_selection import train_test_split
5. 训练模型(使用训练数据)
sklearn要求输入的特征必须是二维数组的类型,但是因为我们目前只有1个特征,所以需要用安装错误提示用reshape转行成二维数组的类型。
错误提示信息:Reshape your data either using array.reshape(-1, 1) if your data has a single feature
6. 模型评估(使用测试数据)
7. 进一步理解什么是逻辑函数