
人工智能
文章平均质量分 65
甜甜的初夏
有问题,有建议,有不同意见,有错误等,都欢迎留言交流。谢谢
展开
-
字典、文本、图像特征提取,jieba,Tf-idf
1 特征提取1.1 定义将任意数据(如文本或图像)转换为可用于机器学习的数字特征注:特征值化是为了计算机更好的去理解数据特征提取分类: 字典特征提取(特征离散化) 文本特征提取 图像特征提取(深度学习将介绍) 1.2 特征提取APIsklearn.feature_extraction2 字典特征提取作用:对字典数据进行特征值化sklearn.feature_extraction.DictVectorizer(sparse=True,…) DictVec转载 2021-04-15 20:40:25 · 545 阅读 · 0 评论 -
cart剪枝
1 为什么要剪枝出现这种情况的原因:原因1:噪声、样本冲突,即错误的样本数据。 原因2:特征即属性不能完全作为分类标准。 原因3:巧合的规律性,数据量不够大。剪枝 (pruning)是决策树学习算法对付"过拟合"的主要手段。主动去掉一些分支来降低过拟合的风险。2 常用的减枝方法决策树剪枝的基本策略有"预剪枝" (pre-pruning)和"后剪枝"(post- pruning) 。预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性.原创 2021-04-13 11:36:30 · 1162 阅读 · 0 评论 -
信息熵(ID3)、信息增益(C4.5)、基尼值和基尼指数
1、信息熵熵 Entropy是“混乱”程度的量度。系统越有序,熵值越低;系统越混乱或者分散,熵值越高。信息理论:1、从信息的完整性上进行的描述:当系统的有序状态一致时,数据越集中的地方熵值越小,数据越分散的地方熵值越大。2、从信息的有序性上进行的描述:当数据量一致时,系统越有序,熵值越低;系统越混乱或者分散,熵值越高。2、信息增益(决策树的划分依据1)信息增益:以某特征划分数据集前后的熵的差值。熵可以表示样本集合的不确定性,熵越大,样本的不确定性就越大。因此可以使用划分前.原创 2021-04-12 21:13:03 · 4543 阅读 · 2 评论 -
准确率、精确率、召回率、F1-score、TPR、FPR、ROC曲线、AUC
1.分类评估方法1.1精确率与召回率1.3、分类评估报告apisklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None ) y_true:真实目标值 y_pred:估计器预测目标值 labels:指定类别对应的数字 target_names:目标类别名称 return:每个类别精确率与召回率 ret = classification_report(y_te.转载 2021-04-07 10:53:15 · 2998 阅读 · 0 评论 -
过采样方法、欠采样介绍
关于类别不平衡的问题,主要有两种处理方式:过采样方法定义:增加数量较少那一类样本的数量,使得正负样本比例均衡。缺点:对于随机过采样,由于需要对少数类样本进行复制来扩大数据集,造成模型训练复杂度加大。 另一方面也容易造成模型的过拟合问题,因为随机过采样是简单的对初始样本进行复制采样,这就使得学习器学得的规则过于具体化,不利于学习器的泛化性能,造成过拟合问题。# 使用imblearn进行随机过采样from imblearn.over_sampling import RandomOv.原创 2021-04-06 20:46:02 · 5105 阅读 · 0 评论 -
逻辑回归
一、介绍逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法1、输入逻辑回归中,其输入值是什么:逻辑回归的输入就是一个线性回归的结果。2、输出 如何判断逻辑回归的输出:激活函数 sigmoid函数判断标准回归的结果输入到sigmoid函数当中 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值衡量逻辑回归的预测结果与真实结果的差异呢?3、优化同样使用梯度下降优化算法,去减少损失函数的值。这样去原创 2021-04-06 20:33:15 · 284 阅读 · 0 评论 -
ROC曲线的绘制
原创 2021-04-06 20:32:06 · 240 阅读 · 0 评论 -
欠拟合和过拟合、正则化
1 定义过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂) 欠拟合:一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)2 原因以及解决办法欠拟合原因以及解决办法 原因:学习到数据的特征过少 解决办法: 1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决原创 2021-04-05 23:44:19 · 211 阅读 · 0 评论 -
线性回归、正则化线性模型、梯度下降、损失函数、API介绍
线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。1、线性回归APIfrom sklearn.linear_model import LinearRegression#数据获取x = [[80, 86],[82, 80],[85, 78],[90, 90],[86, 82],[82, 90],[78, 80],[92, 94]]y = [84.2, 80.6, 80.1, 9原创 2021-04-05 23:39:03 · 525 阅读 · 0 评论 -
梯度下降算法推导及常见梯度下降算法(FG\SG\mini-batch\SAG)介绍
原创 2021-04-05 22:55:38 · 513 阅读 · 0 评论 -
交叉验证,网格搜索api,sklearn.model_selection.GridSearchCV介绍
交叉验证方法:如下图所示,训练集分为训练集+验证集,测试集仍为测试集。取每一次划分不通验证集后的准确度的平均值为最终结果目的:为了让被评估的模型更加准确可信网格搜索有很多参数是需要手动指定的(如k-近邻算法中的K值),这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。交叉验证,网格搜索(模型选择与调优)API介绍sklearn.model_selection.GridSearchCV(esti.原创 2021-03-02 19:41:50 · 596 阅读 · 0 评论 -
特征预处理方法:归一化,标准化
1、归一化特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果import pandas as pdfrom sklearn.preprocessing import MinMaxScalerdef minmax_demo(): """ 归一化演示 :return: None """ data = pd.read_csv("./data/dating.txt") print(data)原创 2021-02-26 16:02:40 · 925 阅读 · 0 评论 -
scikit-learn数据集介绍及api使用
1、数据集介绍1.1数据集加载加载获取流行数据集 datasets.load_*() 获取小规模数据集,数据包含在datasets里 datasets.fetch_*(data_home=None) 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/ sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’),其中su原创 2021-02-25 20:06:39 · 670 阅读 · 0 评论 -
构建kd树和kd树的搜索
问题引入:如何对训练数据进行快速k近邻搜索?方法1、k近邻法最简单的实现是线性扫描(穷举搜索),即要计算输入实例与每一个训练实例的距离。计算并存储好以后,再查找K近邻。当训练集很大时,计算非常耗时。方法2、kd树使用特殊的结构存储训练数据,以减小计算距离的次数。算法复杂度可降低到O(DNlog(N))基本原理如果A和B距离很远,B和C距离很近,那么A和C的距离也很远。构造kd树1.构造根节点 2.通过递归的方法,不断地对k维空间进行切分,生成子节点 3.重复第二步骤,直到子区.原创 2021-02-25 19:17:33 · 1119 阅读 · 1 评论 -
K-近邻算法(KNN)
K-近邻算法定义如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。算法流程1)计算已知类别数据集中的点与当前点之间的距离2)按距离递增次序排序3)选取与当前点距离最小的k个点4)统计前k个点所在的类别出现的频率5)返回前k个点出现频率最高的类别作为当前点的预测分类采用scikit-learn实现k-近邻pip3 install scikit-learn==0.19.1from sklearn.neig.原创 2021-02-25 10:23:52 · 201 阅读 · 0 评论 -
常见距离计算方法
1、欧式距离(Euclidean Distance)2、曼哈顿距离(Manhattan Distance)不能直接走两点连接的直线,红、蓝、黄距离一样长3、切比雪夫距离 (Chebyshev Distance)国际象棋中,国王走一步可以移动到相邻8个方格中的任意一个,如下图。A到B的距离为红色线,需要走4步,和绿色线距离是相同的。4、闵可夫斯基距离(Minkowski Distance)闵氏距离不是一种距离,而是一组距离的定义,是对多个距离度量公式的概括性的表述。原创 2021-02-25 10:00:15 · 6517 阅读 · 0 评论 -
numba算法库的介绍和使用方法
numba使用LLVM编译器架构将纯Python代码生成优化过的机器码,通过一些添加简单的注解,将面向数组和使用大量数学的python代码优化到与c,c++和Fortran类似的性能,而无需改变Python的解释器。虽然有 cython 和 Pypy 之类的许多其他编译器,选择Numbade 原因很简单,不必离开 python 代码的舒适区,不需要为了获得一些的加速来改变您的代码,我们只需要添加一个装饰器到Python函数中即可完成加速,而且加速效果与cython代码相当。使用方法from n原创 2020-11-18 16:09:47 · 676 阅读 · 0 评论