机器学习算法
赵大寳Note
公众号:赵大寳Note(ID:StateOfTheArt),跟我一起探索世界
展开
-
AUC计算
AUC: Area Under Curve, 默认为ROC(receiver operating characteristic curve) Curve, 也可以指定PR(Precision Recall) curve。由于ROC曲线的X轴为False Positive Rate,Y轴为True Positive Rate,AUC是可以指 随机给定一个正样本和一个负样本,分类器输出该正样本为正的 比 输出该负样本为正 要大的概率,即 AUC = P(P_tpr > P_fpr).AUC的计算方法原创 2020-06-16 19:45:50 · 1477 阅读 · 0 评论 -
整理Sigmoid~Dice常见激活函数,从原理到实现
本文首发于我的个人博客:激活函数:https://fuhailin.github.io/activation-functions/并同步于我的公众号:赵大寳Note(ID:StateOfTheArt),回复关键词【激活函数】下载全部代码。激活函数之性质1. 非线性:即导数不是常数。保证多层网络不退化成单层线性网络。这也是激活函数的意义所在。2. 可微性:保证了在优化中梯度的可计算性。虽...原创 2020-02-21 10:39:03 · 6959 阅读 · 0 评论 -
机器学习面试问题笔记
1, xgboost与GBDT区别(算法到内存)? XGBoost原理: https://blog.csdn.net/a819825294/article/details/51206410 http://www.52cs.org/?p=429 xgboost导读和实战.pdf https://www.zhihu.com/question/41354392/answer/103119723...原创 2018-03-20 16:08:37 · 597 阅读 · 2 评论 -
对分类器进行评估的方法:Precision、Recall、F1 值、ROC、AUC
ROC与AUChttp://alexkong.net/2013/06/introduction-to-auc-and-roc/机器学习 F1-Score, recall, precisionhttps://blog.csdn.net/matrix_space/article/details/50384518True positive rate (or sensitivity):...转载 2018-04-18 00:33:47 · 1113 阅读 · 0 评论 -
数据挖掘中对Categorical特征的处理
Categorical特征常被称为离散特征、分类特征,数据类型通常是object类型,而我们的机器学习模型通常只能处理数值数据,所以需要对Categorical数据转换成Numeric特征。Categorical特征又有两类,我们需要理解它们的具体含义并进行对应的转换。Ordinal 类型:这种类型的Categorical存在着自然的顺序结构,如果你对Ordinal 类型数据进行排序的话...原创 2018-04-19 18:59:17 · 11861 阅读 · 1 评论 -
GridSearchCV 与 RandomizedSearchCV 调参
https://blog.csdn.net/juezhanangle/article/details/80051256转载 2018-04-28 21:58:12 · 724 阅读 · 0 评论 -
Python xgboost.XGBClassifier() Examples
https://www.programcreek.com/python/example/99824/xgboost.XGBClassifier转载 2018-04-29 16:04:52 · 2789 阅读 · 0 评论 -
XGBoost自定义测评函数eval_metric
How to custom evaluation metric for XGBoost in Python# -*- coding: utf-8 -*-from sklearn.cross_validation import train_test_splitfrom sklearn.datasets import load_digitsimport xgboost as xgbfr...原创 2018-04-29 16:54:54 · 11387 阅读 · 0 评论 -
Decision Tree——ID3、C4.5、CART
决策树关键问题:如何选择特征进行分支 ID3算法思想:选择信息增益最大的属性作为当前的特征对数据集进行分类。信息熵:信息的不确定性程度,变量的不确定性越大,熵的值越大;随机变量不确定性的度量叫熵。一个变量X,它可能的取值有n多种,分别是x1,x2,……,xn,每一种取到的概率分别是P1,P2,……,Pn,那么X的熵就定义为 Entropy(X)=−∑mi=1pilog(pi)Entropy...原创 2018-05-31 16:30:20 · 398 阅读 · 0 评论 -
Random Forest
随机森林:集成(ensemble)多棵决策树,以bagging的方式训练,来得到一个更加精确和稳定的预测。随机森林与决策树的不同: 随机森林是以决策树为基学习器构建的,是多棵不同决策树的bagging组合。 决策树从特征集合中选择一个最优特征(最大信息增益ID3、最大信息增益比C4.5、最小Gini指数)进行分支;而随机森林在随机选取的特征子集里面选择最优特征进行分支。随机森林的生成过...转载 2018-05-31 17:20:56 · 1124 阅读 · 0 评论 -
FM因子分解机学习笔记
References: https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf 美团:深入FFM原理与实践原创 2018-07-24 10:42:27 · 636 阅读 · 0 评论 -
随机森林—算法笔记
随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树 使用sklearn 随机森林RandomForestClassifier进行Digit Recognizer实验:from sklearn.ensemble import RandomForestClassifierfrom numpy import genfromtxt, savetxtCPU = -1def mai原创 2017-08-09 15:54:49 · 360 阅读 · 0 评论 -
Markov Chain算法笔记
Markov Chain 体现的是状态空间的转换关系,下一个状态只决定与当前的状态(可以联想网页爬虫原理,根据当前页面的超链接访问下一个网页)。如下图: 这个状态图的转换关系可以用一个转换矩阵 T 来表示: 举一个例子,如果当前状态为 u(x) = (0.5, 0.2, 0.3), 那么下一个矩阵的状态就是 u(x)T = (0.18, 0.64, 0.18), 依照这个转换矩阵一直转换转载 2017-08-08 11:13:27 · 3460 阅读 · 0 评论 -
Mean Average Precision vs Mean Reciprocal Rank
https://stats.stackexchange.com/questions/127041/mean-average-precision-vs-mean-reciprocal-rank转载 2017-11-15 11:34:07 · 1608 阅读 · 0 评论 -
Bayesian(MAP)与Maximum Likelihood(MLE)的区别
首先我们得清楚MAP与MLE的概念是什么?MAP:maximun a posteriori 最大后验估计假设θθ\theta是能够最好解释数据集DDD概率分布的参数。我们希望利用贝叶斯原理来估计参数θθ\theta: p(θ|D)=p(D|θ)∗p(θ)p(D)p(θ|D)=p(D|θ)∗p(θ)p(D)p(\theta|D)=\frac{p(D|\theta) * p(\theta...原创 2018-09-09 15:57:14 · 1001 阅读 · 0 评论 -
朴素贝叶斯
哎呀,从去年年底开始就要帮老板写一本人工智能的高中教材,其实就是一本机器学习的科普书,介绍几大经典机器学习算法。今天抽空写到朴素贝叶斯算法了,记录一些比较好的可能会用到的资料: 学点统计学-朴素贝叶斯入门(带图的):https://xueqiu.com/8287840120/75264428朴素贝叶斯分类器的应用(有例子): http://www.ruanyifeng.com/blog/2...原创 2018-03-23 00:54:13 · 216 阅读 · 0 评论 -
入门 | 从结构到性能,一文概述XGBoost、Light GBM和CatBoost的同与不同
最近,我参加了 kaggle 竞赛 WIDS Datathon,并通过使用多种 boosting 算法,最终排名前十。从那时开始,我就对这些算法的内在工作原理非常好奇,包括调参及其优劣势,所以有了这篇文章。尽管最近几年神经网络复兴,并变得流行起来,但我还是更加关注 boosting 算法,因为在训练样本量有限、所需训练时间较短、缺乏调参知识的场景中,它们依然拥有绝对优势。2014 年 3...转载 2018-03-19 01:09:12 · 3992 阅读 · 0 评论 -
用梯度下降实现逻辑回归分类器
转载自:http://online.cambridgecoding.com/notebooks/eWReNYcAfB/implementing-logistic-regression-classifier-trained-by-gradient-descent-4先Mark,有空我在慢慢翻译In this post, you will learn how to build your转载 2017-03-23 17:34:24 · 1791 阅读 · 0 评论 -
用sklearn.model_selection.train_test_split进行机器学习数据及划分
sklearn.model_selection.train_test_split(*arrays, **options):将数组或矩阵随机划分为训练集和测试集两部分参数:*arrays : sequence of indexables with same length / shape[0]允许输入lists, numpy arrays, scipy-sp翻译 2017-03-14 15:47:39 · 3680 阅读 · 0 评论 -
《机器学习笔记》-环境配置(Windows64位)
一、Python 2.7.12 安装配置此处选择完全安装,这样系统环境变量与pip都配置好了。二、机器学习依赖包的安装pip:升级pip版本,pip install --upgrade pipNumpy:pip install numpyMatplotlib:pip install matplotlibScipy:pip install scipy原创 2017-04-13 10:52:01 · 372 阅读 · 0 评论 -
How kNN algorithm works(kNN算法原理讲解)
https://www.youtube.com/watch?v=UqYde-LULfskNN算法注意事项:对于2分类问题k值应取奇数k值必须是类组数的倍数kNN算法的主要缺点在于为样本计算最邻距离的复杂度原创 2017-04-13 10:52:07 · 480 阅读 · 0 评论 -
机器学习各种相似性度量及Python实现
用scikit cosine_similarity、pairwise_distances计算向量相似度原创 2017-03-05 15:10:50 · 20451 阅读 · 2 评论 -
Question about kNN Algorithm
kNN算法中K表示最接近自己的K个数据样本例如下图绿色的圆形是我们待分类的数据。根据kNN算法:如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3个点投票,于是绿色的这个待分类点属于红色的三角形。如果K=5,那么离绿色点最近的有2个红色三角形和3个蓝色的正方形,这5个点投票,于是绿色的这个待分类点属于蓝色的正方形。 当遇到下列这种情况:原创 2017-04-13 10:52:19 · 341 阅读 · 0 评论 -
推荐系统中TopN与kNN的区别
KNN求相似用户或相似项目,根据相似用户或项目来辅助预测用户对项目的评分,指标一般是RMSE MAETOPN,可以理解为,在预测用户对未选择项目的评分,然后排序, 取前TOPN个项目(用户没有选择过的)推荐给用户,看命中率,指标一般是RECALL PRECISION AUCTopN和kNN目的不同,TopN在kNN基础之上进行推荐,KNN只预测评分没做推荐原创 2017-04-13 10:52:57 · 2509 阅读 · 0 评论 -
采用KNN算法实现一个简单的推荐系统
1. 基于相似用户的KNN选用公式如下:2. 基于相似物品的KNN要求:1. 纯PYTHON代码实现2. 利用SKLEARN开发包实验 实验要求:1. 数据集: Movielens1M, Movielens100k 2. 评价指标: RMSE, 均方根误差(root mean squared error,RMSE) MAE平均绝对误差(mean absolut原创 2017-04-13 10:53:08 · 5370 阅读 · 0 评论 -
用Python进行训练/测试集分割和交叉验证
本文转载自:https://medium.com/towards-data-science/train-test-split-and-cross-validation-in-python-80b61beca4b6Hi everyone! After my last post on linear regression in Python, I thought it would only be natu转载 2017-09-10 16:23:21 · 17471 阅读 · 0 评论 -
k-medoids与k-Means聚类算法的异同
K-Means K-Medoids 初始据点随机选取 初始随机据点限定在样本点中 使用Means(均值)作为聚点,对outliers(极值)很敏感 使用Medoids(中位数)作为聚点 对数据要求高,要求数据点处于欧式空间中 可适用类别(...原创 2017-04-13 10:52:47 · 4380 阅读 · 0 评论 -
CatBoost: A machine learning library to handle categorical (CAT) data automatically MACHINE LEARNING
IntroductionHow many of you have seen this error while building your machine learning models using “sklearn”?I bet most of us! At least in the initial days.This error occurs when dealing with categoric转载 2017-10-29 16:57:26 · 1422 阅读 · 1 评论 -
What are the differences between maximum likelihood and minimize cross entropy loss function?
https://www.quora.com/What-are-the-differences-between-maximum-likelihood-and-cross-entropy-as-a-loss-function转载 2017-11-10 19:01:46 · 567 阅读 · 0 评论 -
Logistic Regression算法笔记
机器学习中的逻辑回归Logistic RegressionLogistic Function逻辑回归(Logistic Regression)的名称是由其使用的核心函数–Logistic function得来的。Logistic函数也叫作Sigmoid函数,最初由统计学家发明用来描述生态学中人口增长的特点。起初阶段大致是指数增长然后随着接近环境容量开始变得饱和,增加变慢;最后,达到...原创 2018-03-07 17:27:29 · 333 阅读 · 0 评论 -
机器学习中的目标函数、损失函数、代价函数是同一个东西吗?
Objective function:目标函数 Loss function:损失函数 Cost function:代价函数Loss function一般是针对单个样本测量其惩罚值。例如:平方损失Square Loss l(f(xi|θ),yi)=(f(xi|θ)−yi)2l(f(xi|θ),yi)=(f(xi|θ)−yi)2 l(f(xi|θ),yi)=(f(xi|θ)−yi)^...翻译 2018-03-08 14:09:17 · 1750 阅读 · 0 评论 -
SVM支持向量机算法笔记
支持向量机支持向量机可用来做什么?分类、回归(例如时间序列预测)、边界检测、聚类什么是支持向量机?SVM是一种可用于解决分类和回归问题的有监督机器学习算法,但更常用于分类。假设有两类或两类以上的数据,SVM可以作为一个区分性的分类器,它通常由一个可把所有数据都分开的最优超平面来定义。新的样本将根据它在此空间中映射到的位置进行分类。支持向量又是什么? 支持向...原创 2018-03-19 01:01:00 · 435 阅读 · 0 评论 -
kNN与kMeans聚类算法的区别
KNNK-Means目的是为了确定一个点的分类目的是为了将一系列点集分成k类KNN是分类算法K-Means是聚类算法监督学习,分类目标事先已知非监督学习,将相似数据归到一起从而得到分类,没有外部分类训练数据集有label,已经是完全正确的数据训练数据集无lab原创 2017-03-21 00:36:14 · 1699 阅读 · 0 评论