机器学习
Yan456jie
这个作者很懒,什么都没留下…
展开
-
sklearn中常用数据预处理方法
转载自:http://2hwp.com/2016/02/03/data-preprocessing/常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍;1. 标准化(Standardization or Mean Removal and Variance Scaling)变换后各维特征有0均值,单位方差。也叫z-score规范化(零均值规范化转载 2017-12-02 15:38:28 · 852 阅读 · 0 评论 -
广告推荐系统-逻辑回归问题导出
原文地址在广告推荐系统中,利用用户和广告之间的信息作为预测的特征预测的过程其实就是一个二分类的问题,主要就是判定一个用户对这个广告点击或者是不点击的概率是多少而这个过程是一个伯努利函数,整个过程是一个伯努利分布而在逻辑回归中主要是在线性回归的基础上利用了一个逻辑函数sigmod,而为什么要用这个函数,逻辑回归与线性回归之间的关系:转载 2016-09-19 21:59:59 · 771 阅读 · 0 评论 -
机器学习总结之逻辑回归Logistic Regression
原文地址逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法。简单的说回归问题和分类问题如下:回归问题:预测一个连续的输出。分类问题:离散输出,比如二分类问题输出0或1.逻辑回归常用于垃圾邮件分类,天气预测、疾病判断和广告投放。一、假设函数 因为是一个分类问题,所以我们希望有一个假设函数,使得:而sigmoid 函数转载 2016-09-19 21:48:56 · 6562 阅读 · 0 评论 -
聚类(2)——层次聚类 Hierarchical Clustering
聚类系列:聚类(序)----监督学习与无监督学习聚类(1)----混合高斯模型 Gaussian Mixture Model 聚类(2)----层次聚类 Hierarchical Clustering 聚类(2*)----k-means如何训练很大的码书聚类(3)----谱聚类 Spectral Clustering-------------转载 2016-09-19 21:09:30 · 1168 阅读 · 0 评论 -
LFM推荐的例子和代码
原文地址参考自邹博的博客! LFM:将评分矩阵分解为 item-feature 和 user-feature矩阵,feature数量事先人工确定,但是这两个矩阵参数未知,首先随机选取参数,再以此梯度下降迭代即可得到。 import pandas as pdimport numpy as npdef lfm(user_item,k,alpha = 0.01,lamda转载 2016-09-18 21:30:46 · 1205 阅读 · 0 评论 -
使用LFM(Latent factor model)隐语义模型进行Top-N推荐
原文地址最近在拜读项亮博士的《推荐系统实践》,系统的学习一下推荐系统的相关知识。今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结。隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开始都是在文本挖掘领域中提出来的,近些年它们也被不断应用到其他领域中,并得到了不错的应转载 2016-09-18 21:21:10 · 539 阅读 · 0 评论 -
决策树系列(五)——CART
原文地址CART,又名分类回归树,是在ID3的基础上进行优化的决策树,学习CART记住以下几个关键点:(1)CART既能是分类树,又能是分类树;(2)当CART是分类树时,采用GINI值作为节点分裂的依据;当CART是回归树时,采用样本的最小方差作为节点分裂的依据;(3)CART是一棵二叉树。接下来将以一个实际的例子对CART进行介绍:转载 2016-09-17 11:46:14 · 2822 阅读 · 0 评论 -
使用scikit-learn生成聚类数据
'''使用sklearn生成四类聚类数据'''%matplotlib inlineimport matplotlib.pyplot as pltfrom sklearn import cluster, datasetsn_samples = 1500noisy_circles = datasets.make_circles(n_samples=n_samples, factor=.5原创 2016-08-25 11:42:52 · 3194 阅读 · 1 评论 -
使用scipy进行层次聚类和k-means聚类
原文地址scipy cluster库简介scipy.cluster是scipy下的一个做聚类的package, 共包含了两类聚类方法: 1. 矢量量化(scipy.cluster.vq):支持vector quantization 和 k-means 聚类方法 2. 层次聚类(scipy.cluster.hierarchy):支持hierarchical clusterin转载 2016-08-25 11:40:15 · 2383 阅读 · 0 评论 -
Deep Learning(深度学习)学习笔记整理
申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html4.2、初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表示才有用呢? 1995 年前后,Bruno Olshausen和 David Fi转载 2016-09-14 20:44:57 · 1771 阅读 · 0 评论 -
KL 散度,相对熵
找了一些文章,感觉这篇是最好的,转载自:最好的解释链接KL散度常用于衡量两个概率分布之间的距离。根据香农定理,对一个概率分布 P(X) 进行最优编码方案编码的平均编码长度为:也就是说,如果对于概率分布 P(X) 的的编码为最优编码方案时: 现假设在同样的字符集上,存在另一个概率分布 Q(X) ,如果用概率分布 P(X) 的最优编码来为符合分布转载 2016-09-13 22:05:38 · 861 阅读 · 0 评论 -
LR 与 SVM 的相同和不同
原文地址在大大小小的面试过程中,多次被问及这个问题:“请说一下逻辑回归(LR)和支持向量机(SVM)之间的相同点和不同点”。第一次被问到这个问题的时候,含含糊糊地说了一些,大多不在点子上,后来被问得多了,慢慢也就理解得更清楚了,所以现在整理一下,希望对以后面试机器学习方向的同学有所帮助(至少可以瞎扯几句,而不至于哑口无言ha(*^-^*))。(1)为什么将LR和SVM放在一起来进行比较?转载 2016-09-13 13:00:09 · 9456 阅读 · 2 评论 -
快速用梯度下降法实现一个Logistic Regression 分类器
原文地址前阵子听说一个面试题:你实现一个logistic Regression需要多少分钟?搞数据挖掘的人都会觉得实现这个简单的分类器分分钟就搞定了吧?因为我做数据挖掘的时候,从来都是顺手用用工具的,尤其是微软内部的TLC相当强大,各种机器学习的算法都有,于是自从离开学校后就没有自己实现过这些基础的算法。当有一天心血来潮自己实现一个logistic regression的时候,转载 2016-09-13 12:07:52 · 956 阅读 · 0 评论 -
朴素贝叶斯法(对于连续和离散属性的处理)
原文地址朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。简单来说,朴素贝叶斯分类器假设样本每个特征与其他特征都不相关。举个例子,如果一种水果具有红,圆,直径大概4英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。尽管是带着这些朴素思想和过于简单化的假设,但朴素贝叶斯分转载 2016-09-24 12:18:23 · 26619 阅读 · 4 评论 -
常见聚类算法分类
聚类划分:(1)划分聚类 k-means、k-medoids、k-modes、k-medians、kernel k-means(2)层次聚类 Agglomerative、divisive、BIRCH、ROCK、Chameleon(3)密度聚类 DBSCAN、OPTICS(4)网格聚类 STING(5)模型聚类 GMM(6)图聚类 Spectral Cluste原创 2016-10-15 10:56:41 · 17252 阅读 · 0 评论 -
标签二值化LabelBinarizer
对于标称型数据来说,preprocessing.LabelBinarizer是一个很好用的工具。比如可以把yes和no转化为0和1,或是把incident和normal转化为0和1。当然,对于两类以上的标签也是适用的。这里举一个简单的例子,说明将标签二值化以及其逆过程。# -*- coding: UTF-8 -*-from sklearn import preprocessingfrom转载 2017-12-02 15:35:21 · 785 阅读 · 0 评论 -
python中scikit-learn机器学习例子
# -*- coding: utf-8 -*-import numpyfrom sklearn import metricsfrom sklearn.svm import LinearSVCfrom sklearn.naive_bayes import MultinomialNBfrom sklearn import linear_modelfrom sklearn.datasets原创 2016-08-02 12:02:58 · 2380 阅读 · 0 评论 -
weka进行分类
maven依赖包dependency> groupId>nz.ac.waikato.cms.wekagroupId> artifactId>weka-stableartifactId> version>3.6.6version>dependency>dependency> groupId>com.google.guavagroupId> art原创 2017-08-17 13:00:32 · 1097 阅读 · 1 评论 -
AdaBoost--从原理到实现
原文地址一.引入 对于Adaboost,可以说是久闻大名,据说在Deep Learning出来之前,SVM和Adaboost是效果最好的 两个算法,而Adaboost是提升树(boosting tree),所谓“提升树”就是把“弱学习算法”提升(boost)为“强学习算法”(语自《统计学习方法》),而其中最具代表性的也就是Adaboost了,貌似Adaboost的结构还转载 2017-05-17 17:47:45 · 562 阅读 · 0 评论 -
Scikit-learn使用总结
Scikit-learn使用总结 作者 Cer_ml 关注2016.08.31 22:57* 字数 3379 阅读 7595评论 8喜欢 57在机器学习和数据挖掘的应用中,scikit-learn是一个功能强大的python包。在数据量不是过大的情况下,可以解决大部分问题。学习使用scikit-learn的过程中,我自己也在补充着机器学习和数据挖掘的知识转载 2017-05-16 12:45:10 · 695 阅读 · 0 评论 -
python的scikit-learn将特征转成one-hot特征
enc = OneHotEncoder(categorical_features=np.array([0,1,2]),n_values=[5,4,2]) enc.fit(train_data) train_data = enc.transform(train_data).toarray() test_data = enc.transform(test_dat原创 2017-05-16 12:17:32 · 3543 阅读 · 0 评论 -
python使用pandas抽样训练数据中某个类别
# -*- coding: utf-8 -*- import numpy from sklearn import metrics from sklearn.svm import LinearSVC from sklearn.naive_bayes import MultinomialNB from sklearn import linear_model from sk原创 2017-05-16 11:33:50 · 3728 阅读 · 0 评论 -
scikit-learn得到预测概率
clf.predict_proba二分类则得到[(px1,px2),()]分别表示预测为0的概率和预测为1的概率原创 2017-05-15 08:45:29 · 6399 阅读 · 0 评论 -
python读取文本数据到矩阵(用于scikit-learn输入)
def load_data(): train = numpy.loadtxt(open("D:\\dev_src\\python\\weibo_keywords\\extra_dict\\word_feature_train.csv", "rb"), delimiter=",", skiprows=0) test = numpy.loadtxt(open("D:\\dev_src\原创 2017-05-14 20:21:06 · 5419 阅读 · 0 评论 -
【干货】Kaggle 数据挖掘比赛经验分享
【干货】Kaggle 数据挖掘比赛经验分享2017-05-09 陈成龙 腾讯全球高校算法大赛简介Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台。笔者从 2013 年开始,陆续参加了多场 Kaggle上面举办的比赛,相继获得了 CrowdFlower 搜索相关性比赛第一名(1326支队伍)和 Hom转载 2017-05-23 13:10:24 · 5918 阅读 · 2 评论 -
理解交叉熵
交叉熵公式H(p,q)=交叉熵是用于度量两个分部距离的如度量两片文章相似度时,i代表第i个单词,p(i)代表这个单词出现频率如将其作为神经网络误差函数时y为预测值,a为实际输出值,输出层第i个神经元的值为概率p(i)原创 2017-04-13 17:44:02 · 3003 阅读 · 0 评论 -
python中sklearn-learn模型持久化
pkfile = open("classify_img.pkl", 'ab')pickle.dump(clf, pkfile)pkfile.close()pkfile2 = open("classify_img.pkl", 'rb')clf = pickle.load(pkfile2)from sklearn.externals import joblibjoblib.dump原创 2017-01-04 19:55:03 · 1321 阅读 · 0 评论 -
逻辑回归推导
原创 2016-09-13 11:57:48 · 336 阅读 · 0 评论 -
从决策树学习谈到贝叶斯分类算法、EM、HMM
原文地址http://blog.csdn.net/v_july_v/article/details/7577684从决策树学习谈到贝叶斯分类算法、EM、HMM引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,转载 2016-08-10 19:48:13 · 960 阅读 · 0 评论 -
Ubuntu14.04安装Theano详细教程
原文地址因为最近需要学习深度学习,因此想要配置Theano,来开发深度学习算法。但是发现Theano安装总是出现问题。于是在这里中总结一下。环境操作系统:ubuntu14.04Python:2.7.6需要联网相关库简介BLAS(Basic Linear Algebra Subprograms)是基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运转载 2016-06-01 21:49:46 · 664 阅读 · 0 评论 -
scikit-learn评估结果
def train_clf2(train_data, train_tags): #clf = SVC(kernel = 'linear')#default with 'rbf' clf = LinearSVC(C=1100.0)#default with 'rbf' clf.fit(train_data,train_tags) return clfdef eva原创 2016-06-29 21:13:05 · 609 阅读 · 0 评论 -
随机切分训练集合测试集
from sklearn import cross_validationX_train, X_test, y_train, y_test = \ cross_validation.train_test_split(im_features,labels, test_size=0.3, random_state=0)原创 2016-06-29 20:42:00 · 2728 阅读 · 0 评论 -
交叉验证的目的
目的是为了得到可靠稳定的模型?检测结果是否依赖于数据的划分,通常取均值?原创 2016-05-29 21:06:06 · 4508 阅读 · 0 评论 -
RBF神经网络与BP神经网络的比较
RBF神经网络与BP神经网络都是非线性多层前向网络,它们都是通用逼近器。对于任一个BP神经网络,总存在一个RBF神经网络可以代替它,反之亦然。但是这两个网络也存在着很多不同点,这里从网络结构、训练算法、网络资源的利用及逼近性能等方面对RBF神经网络和BP神经网络进行比较研究。 (1) 从网络结构上看。 BP神经网络实行权连接,而RBF神经网络输入层到隐层单元之间为直接连接,隐层到转载 2016-05-10 11:26:28 · 2741 阅读 · 0 评论 -
常见机器学习方法
机器学习常见问题分为 分类、聚类、回归、标注分类算法有:id3决策树、朴素贝叶斯、knn、svm、bp神经网络、logistic regression聚类算法有:k-means回归算法有:单变量线性回归、多变量线性回归、局部加权回归标注算法有:隐马尔科夫、条件随机场原创 2016-03-05 16:06:14 · 501 阅读 · 0 评论 -
分类问题的精确率和召回率 (准确率)
参考李航的统计学习方法TP--将正类预测为正类数;FN--将正类预测为负类数;FP--将负类预测为正类数;TN--将负类预测为负类数;精确率定义为P=TP/(TP+FP)精确率定义为R=TP/(TP+FN)F1的值2/F1=1/P+1/R对100条数据进行分类,100条数据中正的有70条,反的有30条,原创 2015-07-23 15:17:13 · 7310 阅读 · 0 评论 -
欠拟合和过拟合
欠拟合:模型拟合不够,在训练集上表现效果差过拟合:模型过度拟合,在训练集上表现好,测试集上效果差欠拟合原因及解决方法:1、模型过于简单-》增加模型复杂度eg、使用线性模型拟合二次曲线数据2、特征集过少、数据集过少、抽样数据不合理过拟合原因及解决办法:1、模型过于复杂-》减少模型复杂度,增加正则化项,L1范数或L2范数2、特征选取不合理-》人工筛选特征原创 2016-03-05 15:08:52 · 2447 阅读 · 0 评论 -
weka数据导入
每一行代表一条数据,用逗号分开属性,最后一列为分类标签将后缀名改为csv,用excel打开,为每一列加上属性名称,直接导入weka即可原创 2015-12-04 10:35:44 · 3528 阅读 · 0 评论 -
WEKA “Detailed Accuracy By Class”和“Confusion Matrix”含义
原文=== Summary ===(总结)Correctly Classified Instances(正确分类的实例) 45 90 %Incorrectly Classified Instances (错误分类的实例) 5 10 %Kappa sta转载 2015-07-23 16:17:58 · 1205 阅读 · 0 评论 -
matlab常见使用
可以新建一个.m文件,将代码放入其中求平均A=[1 2;3 4;]a=mean(A,1) %按列平均b=mean(A,2) %按行平均c=mean(A(:)) %全部平均原创 2015-03-07 16:57:42 · 495 阅读 · 0 评论