机器学习
文章平均质量分 60
专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
缘 源 园
这个作者很懒,什么都没留下…
展开
-
关于谷歌账户的目标设置疑问解答
收集到了很多目标,要看我们设置的目标是什么,是三个页面,还是停留5分钟。效果不理想,指的效果是什么,如果是询盘,那么达成互动目标的确实是不一定发询盘的。但是呢,对数据的要求非常高,因为达到联系我们页面的人,不一定会发询盘。所以这部分人群的控制要极其精细,而且要和邮箱里的询盘不停的做对比,达到准确度的提高。谷歌的机器有一个原理,就是吸引到的转化目标,以此为目标追踪,尽可能提高转化次数,可以获取更优质的询盘。理论上说是最有效的。因为contact us的不一定发询盘,,积累到一定程度,数据会杂乱,不稳定。...原创 2022-08-15 17:57:52 · 265 阅读 · 0 评论 -
特征工程-特征提取
什么是特征提取呢?1 特征提取1.1 定义将任意数据(如文本或图像)转换为可用于机器学习的数字特征注:特征值化是为了计算机更好的去理解数据特征提取分类: 字典特征提取(特征离散化) 文本特征提取 图像特征提取(深度学习将介绍) 1.2 特征提取APIsklearn.feature_extraction2 字典特征提取作用:对字典数据进行特征值化sklearn.feature_extraction.DictVectorizer(sparse=.原创 2021-04-24 23:59:44 · 185 阅读 · 0 评论 -
cart剪枝
1 为什么要剪枝•横轴表示在决策树创建过程中树的结点总数,纵轴表示决策树的预测精度。•实线显示的是决策树在训练集上的精度,虚线显示的则是在一个独立的测试集上测量出来的精度。•随着树的增长,在训练样集上的精度是单调上升的, 然而在独立的测试样例上测出的精度先上升后下降。出现这种情况的原因:•原因1:噪声、样本冲突,即错误的样本数据。•原因2:特征即属性不能完全作为分类标准。•原因3:巧合的规律性,数据量不够大。2 常用的减枝方法2.1 预剪枝(1)每一个结点所.原创 2021-04-24 23:57:55 · 147 阅读 · 0 评论 -
决策树分类原理
1 熵1.1 概念物理学上,熵 Entropy是“混乱”程度的量度。系统越有序,熵值越低;系统越混乱或者分散,熵值越高。信息理论:1、从信息的完整性上进行的描述:当系统的有序状态一致时,**数据越集中的地方熵值越小,数据越分散的地方熵值越大。2、从信息的有序性上进行的描述:当数据量一致时,系统越有序,熵值越低;系统越混乱或者分散,熵值越高。1948年香农提出了信息熵(Entropy)的概念。假如事件A的分类划分是(A1,A2,...,An),每部分发生的概率是(p.原创 2021-04-21 23:39:06 · 420 阅读 · 0 评论 -
决策树算法简介
FWV英文网站的SEO英文SEO的优化基础 英文SEO的优化进阶 英文网站的推广技巧 防止网站内容被复制 SEO的专业词汇 关于英文网站的SEO策略 英文SEO的优化基础1.英文网站的内容来源:Google对网站内容的审核非常严格,轻易复制,会被警告,甚至诉上法庭。2.英文网站的关键词:用google 关键词工具,不仅可以查询正确度,还可以查询竞争度。如果是非常激烈的关键词,建议从长尾词着手。3.英文网站的域名和服务器的选择用英文的关键字做..原创 2021-04-20 00:00:52 · 163 阅读 · 0 评论 -
如何应对一个不平衡的二分类?
(1)欠采样与过采样对小类的数据样本进行采样来增加小类的数据样本个数,即过采样(over-sampling ,采样的个数大于该类样本的个数对大类的数据样本进行采样来减少该类数据样本的个数,即欠采样(under-sampling,采样的次数少于该类样本的个素(2)使用AUC指标从AUC判断分类器(预测模型)优劣的标准:AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。0.5 < AUC < 1,优于随机猜测。这个原创 2021-04-18 23:38:43 · 395 阅读 · 0 评论 -
ROC曲线的绘制
关于ROC曲线的绘制过程,通过以下举例进行说明假设有6次展示记录,有两次被点击了,得到一个展示序列(1:1,2:0,3:1,4:0,5:0,6:0),前面的表示序号,后面的表示点击(1)或没有点击(0)。然后在这6次展示的时候都通过model算出了点击的概率序列。下面看三种情况。1 曲线绘制1.1 如果概率的序列是(1:0.9,2:0.7,3:0.8,4:0.6,5:0.5,6:0.4)。与原来的序列一起,得到序列(从概率从高到低排)1 1 0 0 0原创 2021-04-18 23:33:47 · 8883 阅读 · 0 评论 -
逻辑回归的分类评估方法
1.分类评估方法1.1 精确率与召回率1.1.1 混淆矩阵在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)1.1.2 精确率(Precision)与召回率(Recall)精确率:预测结果为正例样本中真实为正例的比例召回率:真实为正例的样本中预测结果为正例的比例(查得全,对正样本的区分能力)1.2 F1-score还有其他的评估标准,F1-score,.原创 2021-04-18 23:31:11 · 656 阅读 · 1 评论 -
逻辑回归api介绍
sklearn.linear_model.LogisticRegression(solver='liblinear', penalty=‘l2’, C = 1.0) solver可选参数:{'liblinear', 'sag', 'saga','newton-cg', 'lbfgs'}, 默认: 'liblinear';用于优化问题的算法。 对于小数据集来说,“liblinear”是个不错的选择,而“sag”和'saga'对于大型数据集会更快。 对于多类问题,只有'new原创 2021-04-18 23:01:32 · 308 阅读 · 0 评论 -
逻辑回归介绍
逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广泛。1 逻辑回归的应用场景广告点击率 是否为垃圾邮件 是否患病 金融诈骗 虚假账号看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器2 逻辑回归的原理要想掌握逻辑回归,必须掌握两点: 逻辑回归中,其输入值是什么 如何..原创 2021-04-18 21:38:27 · 671 阅读 · 0 评论 -
线性回归的模型保存加载案例
1 sklearn模型的保存和加载APIfrom sklearn.externals import joblib 保存:joblib.dump(estimator, 'test.pkl') 加载:estimator = joblib.load('test.pkl') 2 线性回归的模型保存加载案例from sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_split.原创 2021-04-18 20:21:12 · 211 阅读 · 0 评论 -
线性回归的改进-岭回归
1 APIsklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False)具有l2正则化的线性回归 alpha:正则化力度,也叫 λ λ取值:0~1 1~10 solver:会根据数据自动选择优化方法 sag:如果数据集、特征都比较大,选择该随机梯度下降优化 normalize:数据是否进行标准化 normalize=False:可以在fit之前调用preprocess原创 2021-04-18 19:59:47 · 453 阅读 · 0 评论 -
线性回归API的使用
线性回归api的使用sklearn.linear_model.LinearRegression(fit_intercept=True) 通过正规方程优化 fit_intercept:是否计算偏置 LinearRegression.coef_:回归系数 LinearRegression.intercept_:偏置 sklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True, learning_rat原创 2021-04-18 18:21:57 · 345 阅读 · 0 评论 -
线性回归之欠拟合和过拟合
1 定义过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂) 欠拟合:一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)那么是什么原因导致模型复杂?线性回归进行训练学习的时候变成模型会变得复杂,这里就对应前面再说的线性回归的两种关系,非线性关系的数据,也就是存在很多无用的特征或者现实中的事物特征跟目标值的关系并不是简原创 2021-04-18 16:41:21 · 1413 阅读 · 0 评论 -
常见的梯度下降算法
全梯度下降算法(Full gradient descent), 随机梯度下降算法(Stochastic gradient descent), 随机平均梯度下降算法(Stochastic average gradient descent) 小批量梯度下降算法(Mini-batch gradient descent),它们都是为了正确地调节权重向量,通过为每个权重计算一个梯度,从而更新权值,使目标函数尽可能最小化。其差别在于样本的使用方式不同。1 全梯度下降算法(FG)计算训练集所有样本误差,对原创 2021-04-17 16:06:37 · 2868 阅读 · 0 评论 -
梯度下降(Gradient Descent)
2.2.1什么是梯度下降梯度下降法的基本思想可以类比为一个下山的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着山的高度下降的地方走,(同理,如果我们的目标是上山,也就是爬到山顶,那么此时应该是朝着最陡峭的方向往上走)。原创 2021-04-17 15:53:14 · 3534 阅读 · 1 评论 -
线性回归的损失和优化
假设刚才的房子例子,真实的数据之间存在这样的关系真实关系:真实房子价格 = 0.02×中心区域的距离 + 0.04×城市一氧化氮浓度 + (-0.12×自住房平均房价) + 0.254×城镇犯罪率那么现在呢,我们随意指定一个关系(猜测)随机指定关系:预测房子价格 = 0.25×中心区域的距离 + 0.14×城市一氧化氮浓度 + 0.42×自住房平均房价 + 0.34×城镇犯罪率请问这样的话,会发生什么?真实结果与我们预测的结果之间是不是存在一定的误差呢?类似这样样子既然存在这个误原创 2021-04-17 15:18:30 · 543 阅读 · 0 评论 -
线性回归中常用数学公式的求导
1 常见函数的导数2 导数的四则运算3 练习4 矩阵(向量)求导参考链接:https://en.wikipedia.org/wiki/Matrix_calculus#Scalar-by-vector_identities原创 2021-04-17 13:20:35 · 517 阅读 · 0 评论 -
线性回归api初步使用
1 线性回归APIsklearn.linear_model.LinearRegression()LinearRegression.coef_:回归系数2 举例2.1 步骤分析1.获取数据集 2.数据基本处理(该案例中省略) 3.特征工程(该案例中省略) 4.机器学习 5.模型评估(该案例中省略)# 1.获取数据集# 2.数据基本处理(该案例中省略)# 3.特征工程(该案例中省略)# 4.机器学习# 5.模型评估(该案例中省略)from sklearn.li.原创 2021-04-14 23:58:12 · 201 阅读 · 0 评论 -
线性回归简介
1 线性回归应用场景 房价预测 销售额度预测 贷款额度预测 举例: 2 什么是线性回归2.1 定义与公式线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归那么怎么理解呢?我们来看几个例子期末成绩:0.7×考试成绩+0.3×平时成绩 房子价格 = 0.02×中心区域的距离 +原创 2021-04-14 23:55:48 · 652 阅读 · 0 评论 -
预测facebook签到位置
1 数据集介绍数据介绍:将根据用户的位置,准确性和时间戳预测用户正在查看的业务。train.csv,test.csv row_id:登记事件的IDxy:坐标准确性:定位准确性 时间:时间戳place_id:业务的ID,这是您预测的目标官网:https://www.kaggle.com/navoshta/grid-knn/data2 步骤分析 对于数据做一些基本处理(这里所做的一些处理不一定达到很好的效果,我们只是简单尝试,有些特征我们可以根据一些特征选择的方式去做.原创 2021-04-14 23:45:48 · 678 阅读 · 0 评论 -
交叉验证,网格搜索
1 什么是交叉验证(cross validation)交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成4份,其中一份作为验证集。然后经过4次(组)的测试,每次都更换不同的验证集。即得到4组模型的结果,取平均值作为最终结果。又称4折交叉验证。1.1 分析我们之前知道数据分为训练集和测试集,但是为了让从训练得到模型结果更加准确。做以下处理训练集:训练集+验证集 测试集:测试集1.2 为什么需要交叉验证交叉验证目的:为了让被评估的模型更加准确可信问题:那么这个只原创 2021-04-14 23:38:53 · 558 阅读 · 0 评论 -
k近邻算法的优缺点
优点:简单有效 重新训练的代价低 适合类域交叉样本 KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。 适合大样本自动分类 该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。 缺点:惰性学习 KNN算法是懒散学习方法(lazy learning,基本上不学习),一些积极学习的算法要快很多 类别评分不是规格化 不像一些原创 2021-04-14 23:34:18 · 4887 阅读 · 0 评论 -
鸢尾花种类预测—流程实现
1、近邻算法APIsklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')n_neighbors: int,可选(默认= 5),k_neighbors查询默认使用的邻居数 algorithm:{‘auto’,‘ball_tree’,‘kd_tree’,‘brute’} 快速k近邻搜索算法,默认参数为auto,可以理解为算法自己决定合适的搜索算法。除此之外,用户也可以自己指定搜索算法ball_tree、kd_原创 2021-04-14 23:13:19 · 372 阅读 · 0 评论 -
特征工程-特征预处理
1什么是特征预处理1.1特征预处理定义scikit-learn的解释provides several common utility functions and transformer classes to change raw feature vectors into a representation that is more suitable for the downstream estimators.翻译过来:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程为.原创 2021-04-14 08:10:44 · 324 阅读 · 0 评论 -
K-Nearest Neighbor(KNN)算法对鸢尾花的种类进行分类
1 案例:鸢尾花种类预测Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。关于数据集的具体介绍:2 scikit-learn中数据集介绍2.1 scikit-learn数据集API介绍sklearn.datasets 加载获取流行数据集 datasets.load_*() 获取小规模数据集,数据包含在datasets里 datasets.fetch_*(data_home=None)原创 2021-04-13 22:45:10 · 1151 阅读 · 0 评论 -
kd树实现搜索的过程
问题导入:实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索。这在特征空间的维数大及训练数据容量大时尤其必要。k近邻法最简单的实现是线性扫描(穷举搜索),即要计算输入实例与每一个训练实例的距离。计算并存储好以后,再查找K近邻。当训练集很大时,计算非常耗时。为了提高kNN搜索的效率,可以考虑使用特殊的结构存储训练数据,以减小计算距离的次数。1 kd树简介1.1 什么是kd树根据KNN每次需要预测一个点时,我们都需要计算训练数据集里每个点到这个点的距离,然后选出距离最近原创 2021-04-12 23:52:28 · 3370 阅读 · 0 评论 -
K-近邻算法的超参数K值以及取值问题
举例说明:(K值相当于取得的样本数量个数去训练)K值过小: 容易受到异常点的影响k值过大: 受到样本均衡的问题K值选择问题,李航博士的一书「统计学习方法」上所说:1) 选择较小的K值,就相当于用较小的领域中的训练实例进行预测,“学习”近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是“学习”的估计误差会增大,换句话说,K值的减小就意味着整体模型变得复杂,容易发生过拟合;2) 选择较大的K值,就相当于用较大领域中的训练实例进行预测,原创 2021-04-12 23:44:53 · 2745 阅读 · 0 评论 -
K-近邻算法中机器学习常用的距离度量公式
1 欧式距离(Euclidean Distance):欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。举例:X=[[1,1],[2,2],[3,3],[4,4]];经计算得:d = 1.4142 2.8284 4.2426 1.4142 2.8284 1.41422曼哈顿距离(Manhattan Distance):在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实.原创 2021-04-11 13:56:19 · 1902 阅读 · 0 评论 -
K-近邻算法API使用基本流程
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)n_neighbors:int,可选(默认= 5),k_neighbors查询默认使用的邻居数案例1 步骤分析1.获取数据集 2.数据基本处理(该案例中省略) 3.特征工程(该案例中省略) 4.机器学习 5.模型评估(该案例中省略)2 代码过程#机器学习中实现的过程 1、实例化一个估计器,2、使用fit方法进行训练import sklearn#导入模块#skle.原创 2021-04-11 13:56:09 · 289 阅读 · 0 评论 -
Scikit-learn工具的介绍
机器学习流程:1.获取数据集 2.数据基本处理 3.特征工程 4.机器学习 5.模型评估原创 2021-04-11 13:55:46 · 600 阅读 · 0 评论 -
PyCharm配置anaconda环境
1、Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。2、PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。3、Anaconda是一个开源的Python发行版本。其包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不仅原创 2021-04-11 13:55:22 · 122 阅读 · 0 评论 -
K-近邻算法是什么
1、K-近邻算法(KNN)概念K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法, 总体来说KNN算法是相对比较容易理解的算法定义如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。来源:KNN算法最早是由Cover和Hart提出的一种分类算法距离公式两个样本的距离可以通过如下公式计算,又叫欧式距离 ,关于距离公式会在后面进行讨论2、什么是K-近邻算法根据你的“邻居原创 2021-04-11 13:55:00 · 264 阅读 · 0 评论 -
完整机器学习项目的流程
1抽象成数学问题明确问题是进行机器学习的第一步。机器学习的训练过程通常都是一件非常耗时的事情,胡乱尝试时间成本是非常高的。这里的抽象成数学问题,指的明确我们可以获得什么样的数据,抽象出的问题,是一个分类还是回归或者是聚类的问题。2获取数据数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。数据要有代表性,否则必然会过拟合。而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数量级的差距。而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对..原创 2021-04-09 11:56:58 · 218 阅读 · 0 评论 -
矩阵
a = np.array([[80, 86],[82, 80],[85, 78],[90, 90],[86, 82],[82, 90],[78, 80],[92, 94]])b = np.array([[0.7], [0.3]])np.dot(a,b)array([[81.8], [81.4], [82.9], [90. ], [84.8], [84.4], [78.6], [9...原创 2021-04-09 11:53:25 · 1493 阅读 · 2 评论 -
jupyter输出太大可能导致崩溃问题
如果遇到IOPub data rate exceeded. The notebook server will temporarily stop sending output to the client in order to avoid crashing it. To change this limit, set the config variable `--NotebookApp.iopub_data_rate_limit`.这个问题是在jupyer当中对输出的原创 2021-04-09 11:44:13 · 1263 阅读 · 0 评论 -
metric跟eval_metric有什么区别
metric 用的是 字典的方式 像这样 {“logloss,"auc”}eval_metric 用的是列表的方式["auc",“rmse”,"logloss"]eval_metric是评价函数,对模型的训练没有影响,而是在模型训练完成之后评估模型效果。如我们经常使用logloss作为objective,经常与之搭配的评价函数是auc、acc等。评估标准。使用方法: eval_metric = 'error' 回归任务(默认rmse) rmse--均方根误差 mae--平均绝对误.原创 2021-03-24 14:21:20 · 3203 阅读 · 0 评论 -
Jupyter Notebook使用
1、Jupyter Notebook安装https://www.anaconda.com/products/individual 下载管理环境。也可在终端运行 jupyter lab,也可直接打开jupyter下图2、Jupyter Notebook介绍Jupyter项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持跨所有编程语言的交互式数据科学和科学计算Jupyter Notebook,原名IPython Notbook,是IPython的加...原创 2021-03-18 20:14:05 · 125 阅读 · 0 评论 -
深度学习简介
1 深度学习 —— 神经网络简介深度学习(Deep Learning)(也称为深度结构学习【Deep Structured Learning】、层次学习【Hierarchical Learning】或者是深度机器学习【Deep Machine Learning】)是一类算法集合,是机器学习的一个分支。深度学习方法近年来,在会话识别、图像识别和对象侦测等领域表现出了惊人的准确性。但是,“深度学习”这个词语很古老,它在1986年由Dechter在机器学习领域提出,然后在2000年有Aizenbe原创 2021-03-17 23:53:45 · 2206 阅读 · 0 评论 -
Azure机器学习模型搭建实验
Azure平台简介Azure Machine Learning(简称“AML”)是微软在其公有云Azure上推出的基于Web使用的一项机器学习服务,机器学习属人工智能的一个分支,它技术借助算法让电脑对大量流动数据集进行识别。这种方式能够通过历史数据来预测未来事件和行为,其实现方式明显优于传统的商业智能形式。微软的目标是简化使用机器学习的过程,以便于开发人员、业务分析师和数据科学家进行广泛、便捷地应用。这款服务的目的在于“将机器学习动力与云计算的简单性相结合”。AML目前在微软的Globa原创 2021-03-17 01:16:19 · 195 阅读 · 0 评论