一个简单的例子!环境:CentOS6.5Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 1.分析题目--有一个用户点击数据样本(husercollect)--按用户访问的时间(时)统计--要求:分析时间和点击次数的聚类情况 2.数据准备 --创建临时表 DROP TABLE if exists tmp.t2_collect; CREATE TABLE tmp.t2_collect( h int, cnt int ) COMMENT '用户点击数据临时表'; --插入…
随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况可见一斑.于是善于学习的程序员们开始了R语言的学习 之旅.对于有其他语言背景的程序员来说,学习R的语法小菜一碟,因为它的语法的确太简单了,甚至有的同学说1周就能掌握R语言,的确如 此.但是之后呢?……好像进行不下去了!死记硬背记住了两个分析模型却不明其意,输出结果如同天书不会解读,各种参数全部使用缺…
一个简单的例子!环境:CentOS6.5Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 名词解释: 先验概率:由以往的数据分析得到的概率, 叫做先验概率. 后验概率:而在得到信息之后,再重新加以修正的概率叫做后验概率.贝叶斯分类是后验概率. 贝叶斯分类算法步骤: 第一步:准备阶段 该阶段为朴素贝叶斯分类做必要的准备.主要是依据具体情况确定特征属性,并且对特征属性进行适当划分.然后就是对一部分待分类项进行人工划分,以确定训练样本. 这一阶段的输入是所有的待分类项,输出…
一个简单的例子!环境:CentOS6.5Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. KNN算法步骤:需对所有样本点(已知分类+未知分类)进行归一化处理.然后,对未知分类的数据集中的每个样本点依次执行以下操作:1.计算已知类别数据集中的点与当前点(未知分类)的距离.2.按照距离递增排序3.选取与当前距离最小的k个点4.确定前k个点所在类别的出现频率5.返回前k个点出现频率最高的类别作为当前点的预测类别 编写R脚本: #!/usr/bin/Rscript #1.对i…
一个简单的例子!环境:CentOS6.5Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 线性回归主要用来做预测模型. 1.准备数据集: X Y 0.10 42.0 0.11 43.5 0.12 45.0 0.13 45.5 0.14 45.0 0.15 47.5 0.16 49.0 0.17 53.0 0.18 50.0 0.20 55.0 0.21 55.0 0.23 60.0 > s=read.table("test-1.txt", header…
案例三比较简单,不需要自己写公式算法,使用了R自带的naiveBayes函数. 代码如下: > library(e1071)> classifier<-naiveBayes(iris[,1:4], iris[,5]) #或写成下面形式,都可以. > classifier<- naiveBayes(Species ~ ., data = iris) #其中Species是类别变量 #预测 > predict(classifier, iris[1, -5]) 预测结果为:…
接着案例一,我们再使用另一种方法实例一个案例 直接上代码: #!/usr/bin/Rscript library(plyr) library(reshape2) #1.根据训练集创建朴素贝叶斯分类器 #1.1.生成类别的概率 ##计算训练集合D中类别出现的概率,即P{c_i} ##输入:trainData 训练集,类型为数据框 ## strClassName 指明训练集中名称为 strClassName列为分类结果 ##输出:数据框,P{c_i}的集合,类别名称|概率(列名为 prob) cla…
目录 1.理解Kmeans聚类 1)基本概念 2)kmeans运作的基本原理 2.Kmeans聚类应用示例 1)收集数据 2)探索和准备数据 3)训练模型 4)评估性能 5)提高模型性能 1.理解Kmeans聚类 1)基本概念 聚类:无监督分类,对无标签案例进行分类. 半监督学习:从无标签的数据入手,是哦那个聚类来创建分类标签,然后用一个有监督的学习算法(如决策树)来寻找这些类中最重要的预测指标. kmeans聚类算法特点: kmeans算法涉及将n个案例中的每一个案例分配到指定k个类中的一个(…
一:一般K均值聚类算法实现 (一)导入数据 import numpy as np import matplotlib.pyplot as plt def loadDataSet(filename): dataSet = np.loadtxt(filename) return dataSet (二)计算两个向量之间的距离 def distEclud(vecA,vecB): #计算两个向量之间距离 return np.sqrt(np.sum(np.power(vecA-vecB,))) (三)随机初…
通常来说,我们可以从两个方面来提高一个预测模型的准确性:完善特征工程(feature engineering)或是直接使用Boosting算法.通过大量数据科学竞赛的试炼,我们可以发现人们更钟爱于Boosting算法,这是因为和其他方法相比,它在产生类似的结果时往往更加节约时间. Boosting算法有很多种,比如梯度推进(Gradient Boosting).XGBoost.AdaBoost.Gentle Boost等等.每一种算法都有自己不同的理论基础,通过对它们进行运用,算法之间细微的差别…