标签:模型 Scikit 矩阵 API Learn 鸢尾花 数据
《Python 数据科学手册》笔记
一、Scikit-Learn的数据表示
1.Scikit-Learn基本的数据表示二维网格数据,每一行表示数据集中的每个样本,每一列表示相关特征 (量化观测值)。例如鸢尾花数据集:
2.通常将上述除开最后一列的表格称为特征矩阵,记为变量X,它是维度为[n_samples,n_features](即 [样本数,特征数])的二维矩阵。而最后一列将其称之为标签数组,记为y,它是维度为长度为n_samples的一维数组。
二、Scikit-Learn的评估器API
1.Scikit-Learn API设计原则:
①统一性:所有对象使用共同接口连接一组方法和统一的文档
②内省:所有参数值都是公共属性
③限制对象层级:只有算法可以用Python类表示。数据集都是用标准数据类型表示,参数名称用标准的Python字符串
④函数组合:许多机器学习任务都可以用一串基本算法实现
⑤明智的默认值:Scikit-Learn预先定义适当的默认值
2.Scikit-Learn 评估器API的常用步骤:
①通过Scikit-Learn中导入适当的评估器类,选择模型类
②用合适的数值对模型进行实例化,配置模型超参数
③整理数据,获取特征矩阵和目标矩阵
④调用模型实例的fit()方法对数据进行拟合
⑤对新数据应用模型
用鸢尾花数据及高斯朴素贝叶斯模型为例:
简单来说,就是:分割数据集、导入模型、训练数据、预测数据、求准确率这5个步骤。
仿照以上步骤,便可以用各种数据集组合各种模型进行模型训练与预测了。例如,
· 用简单线性模型为散点数据集拟合一条直线;
· 用主成分分析(PCA)法对鸢尾花数据进行降维;
· 用高斯混合模型(GMM)对鸢尾花数据进行聚类;
· 用流行算法中的Isomap算法对手写数字数据进行降维;
· 用高斯朴素贝叶斯对手写数字进行分类;
...
3.混淆矩阵
在上述鸢尾花的例子中,我们用准确率(accuracy_score)来衡量了模型的优劣,但是仅依靠这个指标无法知道模型哪里做得不好,因此要引入一个混淆矩阵将预测的正误可视化。
接着上述鸢尾花的例子,添加如下代码,得到一个混淆矩阵:
鸢尾花一共3类,对角线上的数字为预测正确的数据,非对角线上的数据为预测错误的数据,可以看出,该模型的将某个类别为‘1’的鸢尾花错判成了类别为‘2’的鸢尾花。
标签:模型,Scikit,矩阵,API,Learn,鸢尾花,数据 来源: https://blog.csdn.net/elma_tww/article/details/87986520
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。