Machine Learning
文章平均质量分 83
令狐公子
开朗活泼自信进取
展开
-
libsvm安装及SVM原理推导
如果你的python是64位的这时你需要自己编译64位的动态链接库libsvm.dll。方法如下:在目录下Microsoft Visual Studio 2013/Visual Studio Tools下找到Visual Studio x64 Win64 Command Prompt(2013),注意一定要是64位的command prompt命令行cd到LIBSVM所在文件夹libsvm-...原创 2017-07-22 16:15:49 · 996 阅读 · 0 评论 -
Kaggle赛题-Synthetic Financial Datasets For Fraud Detection
反欺诈数据预测import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport matplotlib.cm as cmimport seaborn as snsfrom sklearn import preprocessingfrom scipy.stats import skew, boxcox原创 2017-10-15 23:19:26 · 4368 阅读 · 1 评论 -
机器学习算法应用场景实例
机器学习算法应用场景实例六十则标签: 人工智能数据挖掘机器学习竞赛算法2016-12-14 22:19 8217人阅读 评论(2) 收藏 举报 分类:竞赛(4) 版权声明:本文为博主原创文章,未经博主允许不得转载。 本文整理了60个机器学习算法应用场景实例,含分类算法应用场景20个、回归算法应用场景20个、聚类算转载 2018-05-25 09:39:32 · 7146 阅读 · 0 评论 -
Pandas 速查
如果不归一化,各维特征的跨度差距很大,目标函数就会是“扁”的,图中椭圆表示目标函数的等高线,两个坐标轴代表两个特征。在进行梯度下降的时候,梯度的方向就会偏离最小值的方向,走很多弯路。 归一化后,那么目标函数就变“圆”了,每一步梯度的方向都基本指向最小值,可以大踏步地前进,每一步梯度的方向基本都指向最小值,可以大踏步的前进。a="from.US.NY"print('-'.join(a.sp...原创 2019-02-13 17:39:48 · 411 阅读 · 0 评论 -
使用sklearn - 特征工程
特征处理是特征工程的核心,sklearn提供了较为完整的特征处理方法!本文中使用sklearn中的IRIS数据集来对特征处理功能进行说明。IRIS包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)...原创 2019-01-23 20:13:57 · 367 阅读 · 0 评论 -
MachineLearning-Apriori(关联分析) FP-growth算法
Apriori算法是一种挖掘关联规则的频繁项集算法,FP-growth,又称为FP-增长算法,它比Apriori算法要快,它基于Apriori构建。关联分析在数据挖掘当中有非常经典的成功案例,著名的啤酒尿布就来自于关联算法的贡献。关联分析体现在两个方面:1.频繁项集(frequency item sets):经常同时出现的一些元素的集合。2.关联规则(association rules): 意味着...原创 2018-04-03 15:16:15 · 626 阅读 · 0 评论 -
MachineLearning—Gaussian Mixture Model(GMM)和EM最大期望算法
高斯混合模型,如下图是一个观测数据集,数据集明显分为两个聚集核心,我们通过两个单一的高斯模型混合成一个复杂模型来拟合数据。这就是一个混合高斯模型。如下为标准正态分布:多维高斯分布模型下概率密度函数如下:公式中,x是维度为d的列向量,u是模型期望,Σ是模型方差。在实际应用中u通常用样本均值来代替,Σ通常用样本方差来代替。很容易判断一个样x本是否属于类别C。因为每个类别都有自己的u和Σ,把x代...原创 2018-03-21 16:55:54 · 1166 阅读 · 0 评论 -
MachineLearning—L1、L2正则化介绍
防止过拟合,也是为了限制模型的复杂度,避免将噪声也学习进去,通常考虑如下方法来限制惩罚模型: 0范数,向量中非零元素的个数最小,|W|01范数(L1正则),为绝对值之和最小。2范数(L2正则),就是通常意义上的模。正则化Regularization,常用的机器学习损失函数后面都会多一个项,这个惩罚项目的是为了对损失函数中的某些参数做一些限制(防止过拟合有时也会从减小W=(...原创 2018-07-18 09:53:33 · 1549 阅读 · 0 评论 -
MachineLearning—GBDT实践及参数
import pandas as pdimport numpy as npfrom sklearn.ensemble import GradientBoostingClassifierfrom sklearn import cross_validation, metricsfrom sklearn.grid_search import GridSearchCVimport matplo...原创 2018-07-18 09:45:43 · 496 阅读 · 0 评论 -
MachineLearning—Singular Value Decomposition(SVD)
奇异值分解(SVD)原理与在降维中的应用 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。 1. 回顾特征值和特征向量...转载 2018-07-18 23:49:07 · 503 阅读 · 0 评论 -
MachineLearning—AdaBoost算法代码应用实现
AdaBoost包含分类和回归两类,即AdaBoostClassifier和AdaBoostRegressor,其中分类使用了两种算法即SAMME和SAMME.R,在对AdaBoost算法进行调参时,主要包括两个部分。第一个是AdaBoost框架调参,另一个是对我们选择的弱分类器进行调参。下面以分类算法为例讲解。 base_estimator:弱学习器,默认一般是CART分类回归树,即De...原创 2018-07-18 09:35:48 · 568 阅读 · 0 评论 -
MachineLearning—CART分类回归树python应用实现
# -*- coding: utf-8 -*- from numpy import * import numpy as np import pandas as pd from math import log import operator import re from collections import defaultdictimport itertools...原创 2018-07-18 10:53:12 · 843 阅读 · 0 评论 -
tSNE—高维数据降维可视化(实践部分)-Kmeans聚类
零售户聚类原创 2018-07-03 22:28:25 · 20497 阅读 · 2 评论 -
tSNE—高维数据降维可视化(理论部分)
t-SNE是一种降维方法,PCA主成分分析、LDA等属于线性降维,t-SNE属于非线性降维,是一种流形学习方法(Manifold Learning)。如图所示的曲面上,两点之间的欧式距离为红色虚线所示,蓝色实线为两点之间的测地线距离,第二张图为KNN图,展开后如第三张图所示。两点之间的最短距离为蓝色实线所示,但实际应用中,真实最短距离较难获得,一般通过构造KNN图寻找最短路径作为近似。构建二维空间...原创 2018-07-03 14:53:25 · 17459 阅读 · 2 评论 -
矩阵的秩、矩阵分解概念
首先来想一个问题,最初的那个人为什么为什么要叫他为“秩”,为什么不叫“猪”“牛”“马”?举个例子就很容易理解,大家排队买票。如果大家互相不认识,那就会一个排一个,非常有秩序。然而,如果突然来了一个与队伍前面的人认识的人,这个人又不自觉,非要插队。那后面的人肯定要有意见了,说你要是这样我前面还有认识的人呢,你插我也插,这样整个队伍就乱掉了,谁也买不成。通过这个例子,可得以下结论:彼此不认识,那就原创 2018-07-03 12:05:10 · 3572 阅读 · 0 评论 -
MachineLearning—Adaboost原理与Gradient Boost Decision Tree梯度提升树
Adaboost通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合来提高分类的性能。其基本思想是将多个专家的判断进行适当的综合所得到的判断比单个专家的判断结果更优。在日常的算法应用场景中,发现弱学习算法通常要比发现强学习算法容易的多,那么如何有效提升这些弱学习算法的性能便成为了重点研究课题。对于分类问题,给定一个训练样本集,首先求得一些粗糙的分类规则即弱分类器,然后通过反复学习...原创 2018-07-18 09:11:55 · 1120 阅读 · 0 评论 -
MachineLearning—Random Forest实现 python
在scikit-learn中,RandomForest的分类类是RandomForestClassifier,回归类是RandomForestRegressor,需要调参的参数包括两部分,第一部分是Bagging框架的参数,第二部分是CART决策树的参数。Bagging框架的参数和GBDT对比,GBDT的框架参数比较多,重要的有最大迭代器个数,步长和子采样比例,调参起来比较费力。但是RF则...原创 2018-07-18 11:15:27 · 1065 阅读 · 0 评论 -
MachineLearning—随机森林(Random Forest)
随机森林(Random Forest,简称RF)到底是怎样的一种算法呢?如果读者接触过决策树(Decision Tree)的话,那么会很容易理解什么是随机森林。随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”...原创 2018-07-18 11:02:37 · 1485 阅读 · 0 评论 -
矩阵特征值和特征向量求解——特征值分解
工程数学中,非常关键的一个地方,充分的理解矩阵值、矩阵向量的概念和物理意义对于理解机器学习中的,比如主成分分析算法的矩阵向量运算有很好的的帮助作用。原创 2017-04-27 16:48:10 · 37046 阅读 · 0 评论 -
MachineLearning—集成学习(Ensemble Learning)
集成学习是提高模型鲁棒性的重要方法,在数据、特征处理之后的阶段,如果在算法方面没有提升,可以尝试在模型集成方面发力,可以收到意想不到的结果。但并不是使用集成学习方法就一定会提高结果。例如stacking方法,理论讲其结果渐进等价于第一层最优子模型结果,使用stacking至少不会大幅度降低模型效果。一、投票方法常用的有软投票和硬投票两种,例如,支持向量机可以输出各个样本属于某一类的概率,将...原创 2019-02-13 17:44:50 · 1341 阅读 · 2 评论 -
MachineLearning—Softmax Regression
之前我们遇到的逻辑回归是用来处理一个二分类问题,例如垃圾邮件的分类判别,疾病恶性与否的判别等等;逻辑回归是非常强大的一个机器学习算法,它可以推广到一个多分类的问题,而且我们在平时遇到的问题也不是简单的二分类问题,往往是一个多分类问题;这一节我们将介绍逻辑回归的推广:Softmax Regression多分类情况下,标签就不止一个了,而是y1,y2,y3,...... yk 我们假定属于第k类的概率为φk,并且为了避免冗余性保持他们之间的独立性:原创 2016-04-26 13:13:54 · 786 阅读 · 0 评论 -
MachineLearning—Logistic Regression(三)
本篇博文为机器学习逻辑回归第三部分,主要介绍Generalized Linear Models(GLMs)广义线性模型;通过以前的学习我们发现无论是线性回归还是逻辑回归,无论是梯度上升亦或梯度下降它们在算法推导的过程当中都有非常近似的地方,通过这一部分的学习会发现有一根本的原因所决定:他们都属于指数家族函数集的某一特例。内容并不多,但可以通过这里对线性回归逻辑回归等部分有一个更为high level的理解,有问题欢迎一起交流(*^__^*) 嘻嘻……原创 2016-04-11 18:08:47 · 831 阅读 · 0 评论 -
MachineLearning—Logistic Regression(一)
本篇博文主要介绍机器学习当中相对简单但又广泛应用的逻辑回归算法,读者如果能够对前两篇博文Linear Regression(一)和Linear Regression(二)有一个相对的了解,那么理解逻辑回归也就很easy啦;博文内容包括似然函数最大化中的牛顿法,牛顿法的一些具体细节推导,牛顿法实现逻辑回归分类小例子,感知机学习算法简介等内容,参考文献主要是Andrew吴恩达的斯坦福机器学习公开课的课件。原创 2016-03-31 14:12:00 · 1572 阅读 · 2 评论 -
MachineLearning—Logistic Regression(二)
本篇博文主要接着上一篇博文Logistic Regression(一)介绍逻辑回归的应用,其中包括具体实现时用到的梯度上升算法,随机梯度上升算法,改进随机梯度上升算法,最后还有一个具体的应用小例子;本文内容主要结合《机器学习实战》这本书,以较为细致的方式一步一步讲解逻辑回归的实现,代码为Python(江湖人称“拍神”)版; 回归进行分类的主要思想是:根据现有数据对分类边界线建立回原创 2016-04-06 20:59:29 · 2797 阅读 · 0 评论 -
MachineLearning—Linear Regression(二)
本篇博文接上一篇逻辑回归部分,主要讲解记录线性回归的理论推导,资料主要参考Andrew的机器学习公开课的讲义notes。包括最小均方误差、等高线图、矩阵求导来简化LMS、最大似然解释、局部权重线性回归等内容。原创 2016-03-28 20:55:00 · 1023 阅读 · 0 评论 -
MachineLearning—Generative Learning algorithms
这一节我们介绍机器学习课程当中的Generative Learning algorithms 生成学习算法,此算法与我们之前学习的逻辑回归等算法不太一样,它主要利用了贝叶斯公式为核心,也因此随后我们将引入朴素贝叶斯,贝叶斯网络等等算法,这些算法都在大数据时代大放异彩,体现出了贝叶斯思想的强大功能, 伯克利大学的Allen B. Downey教授专门有一本书叫《Think Bayes》挺不错的,值得好好研究一番,感兴趣的同学可以去看一看。原创 2016-04-27 22:29:21 · 1168 阅读 · 1 评论 -
Kaggle - Bike Sharing Prediction
import pylabimport calendarimport numpy as npimport pandas as pdimport seaborn as snfrom scipy import statsimport missingno as msnofrom datetime import datetimeimport matplotlib.pyplot as plt...原创 2019-02-13 17:43:18 · 558 阅读 · 0 评论 -
矩阵二次型和正定矩阵
矩阵二次型和正定矩阵,这两个概念的理解对于机器学习中常用的降维算法有着至关重要的作用,理解这两个概念才能充分的理解PCA原理推导的一些过程。原创 2017-05-14 23:37:23 · 2943 阅读 · 0 评论 -
L1、L2正则(Regularization )简介
过拟合就是随着模型的复杂度的增加,训练集上的正确率很高error很小,训练集拟合的非常好,但是在测试集上面的错误率却越来越高,效果很差;即模型的泛化能力很差。而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。防止过拟合的方法有很多,比如:early stopping,L2正则等L1可以实现稀疏,原创 2017-03-27 14:57:53 · 4187 阅读 · 0 评论 -
MachineLearning—Decision Tree(DT)
决策树模型主要分为分类树和回归树两类,这里我们首先主要介绍分类树。它是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成,而结点分为内部结点和叶结点,其中内部结点表示一个特征或属性,叶结点表示一个类。决策树学习的本质是从训练数据集上归纳出一组分类规则,是特征空间的一个划分,决策树学习的损失函数通常是正则化的极大似然函数,但是基于损失函数最小化找到全局最优决策树是NP完全问题,所以实际使用的...原创 2018-07-18 10:06:04 · 866 阅读 · 0 评论 -
MachineLearning—Logistic Regression(四)-逻辑回归应用于手写数字识别
之前的文章对逻辑回归已经进行了较为详尽的介绍,在此我们为了更为迅速方便的理解逻辑回归在手写数字识别当中的应用,我们仅仅做简单快速的回顾。逻辑回归通常应用于二分类问题,而经过拓展其也可以应用于多分类问题,此问题读者可以去看本人写的这篇文章机器学习-Softmax Regression;原创 2016-08-19 15:58:28 · 2154 阅读 · 1 评论 -
MachineLearning— (KNN)k Nearest Neighbor实现手写数字识别(三)
本篇博文主要结合前两篇的knn算法理论部分knn理论理解(一)和knn理论理解(二),做一个KNN的实现,主要是根据《机器学习实战》这本书的内容,一个非常经典有趣的例子就是使用knn最近邻算法来实现对手写数字的识别,下面将给出Python代码,尽量使用详尽的解释和注解让大家更好地理解每一步的目的和方法,欢迎大家一起交流学习~~~ 我们使用的training数据保存在trainingDigits当中,我们总共使用了100个样本点数据,从0到9总共十个数字,每个数字有十个手写数据,所以我们准备了总共10原创 2016-06-16 14:41:55 · 1175 阅读 · 0 评论 -
MachineLearning— (KNN)k Nearest Neighbor(二)
Knn属于基于实例的学习方法,其将训练数据存储起来而不是为目标函数建立明确的一般化描述;从而泛化的工作被推迟到必须分类新的实例时。每当学习器遇到一个新的查询实例时,它分析这个新实例与以前存储的实例的关系,并据此把一个目标函数值赋给新的实例;基于实例的学习方法包括最近邻法和局部加权回归法,他们都假定实例可以被表示为欧式空间中的点; 事实上,很多技术只建立目标函数的局部逼近,将其应用于与新查询实例临近的实例,而从不建立在整个实例空间上都表现良好的逼近。当目标函数比较复杂却可以用不太复杂的局部逼近描述时,这样做原创 2016-06-16 12:00:13 · 643 阅读 · 0 评论 -
MachineLearning— (KNN)k Nearest Neighbor之最近邻法原理举例理解(一)
K最近邻,K近邻法(k-nearest neighbor)是机器学习当中较为简单理解的一种基本分类与回归方法,KNN输入的是实例的特征向量,也就是特征空间上的点;输出的是其对应的类别标签,KNN的训练数据集的类别标签都是已知的,分类时对输入的新的实例点计算k个最近邻训练实例,通过多数表决也就是看这k个点多数属于的类别,将其作为新实例点的最后分类归属;因此KNN不具有显式的学习过程,kNN包括三个基本要素:k值的选择,距离度量和分类决策规则;本篇博文主要介绍k近邻的基本理论概念,算法原理思想以及例题,还有k近原创 2016-04-28 15:29:30 · 3009 阅读 · 0 评论 -
MachineLearning—Linear Regression(一)
单变量线性回归:m通常代表样本点的个数,i通常代表第i个样本点(索引)我们要做的就是得出 θ0 和 θ1 这两个参数的值,来让假设函数h表示的直线尽量地与这些样本点很好的拟合原创 2016-03-24 21:26:36 · 1058 阅读 · 0 评论