赞
踩
使用常见的机器学习算法对数据进行处理可以使用 scikit-learn 库,在过去对 scikit-learn 的使用中,常出现忘记调用方式以及函数参数意义的情况,故搜索相应资料,整理出自己的 scikit-learn 使用笔记。
问题: scikit-learn和sklearn两个模块的区别
回答:只有 scikit-learn 模块,官网地址为:http://scikit-learn.org/stable/
不过在 Python 中调用这个包的时候,写法是 from sklearn import *
拿到数据集,对数据集进行清洗。
数据集清洗一般包括以下几个方面:重复值处理,缺失值处理,字符型数值处理(因为sklearn机器学习算法只能识别数值型的数据),特征提取(这就需要我们弄清楚每个特征的意义,选取对结果影响较大的特征),数据集切分,划分训练集和测试集。
建立模型。
我们的机器学习问题分为两类,分类(Classifier)和回归(Regression),我们根据我们的目标来选择合适的算法,像逻辑回归,线性回归,朴素贝叶斯,支持向量机等。
模型评估,对模型的预测结果做一个评估。
通常我们选用的评估标准有精度(Accuracy),Recall值,Fpr,F1-score,Roc_Auc值等等。
模型优化,
如果模型的各项评价指标比较低,那么我们可以从以下几个方面去优化我们的模型:1.再次整理数据集,2.优化特征选择,3.优化模型参数
图像来源:https://blog.csdn.net/kakak_/article/details/104256467
sklearn 作为 python 机器学习的常用工具大受开发者环境,它主要包括 6 大模块,分别是分类、回归、聚类、降维、模型选择以及预处理。
同时sklearn 还自带部分经典数据集。
以手写数据集 load_digits() 为例, 介绍常规使用
其数据有以下几个属性
属性 | |
---|---|
数据集介绍 | DESCR |
样本数据 | data |
标签数据 | target |
标签名称 | target_names |
图像数据 | images |
注:
1.data,target 均为 numpy.ndarray 数组
2.images 是所有图片的数据, images[0] 指第一张图片;
3.data, target, target_name 是 sklearn 自带数据集通用的属性
from sklearn import datasets # 导入sklearn自带数据集
digits = datasets.load_digits()# 加载手写数字数据集
feature = digits.data # 创建特征矩阵
target = digits.target # 创建目标向量
print(feature[0]) # 查看第一个样本数据
示例:使用Python的数据可视化库matplotlib查看图片
# 查看指定序列的图片
import matplotlib.pyplot as plt
import matplotlib
plt.imshow(digits.images[0])#0序列第一张图
plt.show()
plt.imshow(digits.images[0], cmap = matplotlib.cm.binary)#用cmap参数,cmap = matplotlib.cm.binary转换为灰度图
plt.show()
sklearn 数据集的使用可参考:https://blog.csdn.net/weixin_43848614/article/details/111003492
规范化
编码
DictVectorizer : 将dict类型的list数据,转换成numpy array
FeatureHasher : 特征哈希,相当于一种降维技巧
image :图像相关的特征抽取
text: 文本相关的特征抽取
text.CountVectorizer:将文本转换为每个词出现的个数的向量
text.TfidfVectorizer:将文本转换为tfidf值的向量
text.HashingVectorizer:文本的特征哈希
(1)降低复杂度(2)降低噪音(3)增加模型可读性
包含评分方法、性能度量、成对度量和距离计算
分类结果度量参数大多是y_true和y_pred
LeaveP和LeaveOne差别在于leave的个数,测试集的尺寸。
搜索最佳参数
通过best_estimator_.get_params()方法,获取最佳参数
朴素贝叶斯的特点是分类速度快,分类效果不一定是最好的。
所谓使用什么分布的朴素贝叶斯,就是假设P(x_i|y)是符合哪一种分布
回归算法中的最终结果是一个连续的数据值,输入值(属性值)是一个d维度的属性/数值向量
弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(errorrate < 0.5)
决策树是一种预测模型,代表的是对象属性与对象值之间的映射关系
DecisionTreeClassifier(Regressor) 决策树
决策树分为分类树和回归树,前者用于分类标签值,后者用于预测连续值,常用算法有ID3、C4.5、CART等
聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小,属无监督学习。
转换器用于数据预处理和数据转换
通常继承sklearn.base下的类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。