使用R完成逻辑斯蒂回归分类
2014-04-09 01:58
246 查看
直接上代码,如下:
最后计算出来的分类准确度如下,分类准确度还是不错的:
real
predict setosa versicolor virginica
versicolor 0 16 0
virginica 0 2 15
程序包mlogit提供了多项logit的模型拟合函数,参见,有空再学习下。先睡觉...Zz.
data_sample <- iris[51:150,]; m <- dim(data_sample)[1] #获取数据集记录条数 val <- sample(m, size =round(m/3), replace = FALSE, prob= rep(1/m, m)) #抽样,选取三分之二的数据作为训练集。 iris.learn <- data_sample[-val,] #选取训练集 iris.valid <- data_sample[val,] #选取验证集 #调用glm函数训练逻辑斯蒂二元模型 #glm()提供正态、指数、gamma、逆高斯、Poisson、二项分布。我们的logistic回归使用的是二项分布族binomial。Binomial族默认连接函数为logit,可设置为probit。 logit.fit <- glm(Species~Petal.Width+Petal.Length, family = binomial(link = 'logit'), data = iris.learn); #生成测试数据集,实际上直接使用iris.valid dfrm <- data.frame(Petal.Width=iris.valid$Petal.Width, Petal.Length=iris.valid$Petal.Length); real_sort <- iris.valid$Species; #测试数据集实际类别 prdict_res <- predict(logit.fit, type="response", newdata=dfrm); #预测数据产生概率 data.frame(predict=prdict_res, real=real_sort); #查看数据产生概率和实际分类的关系 data.frame(predict=ifelse(prdict_res>0.5, "virginica", "versicolor"), real=real_sort); #根据数据产生概率生成预测分类 table(data.frame(predict=ifelse(prdict_res>0.5, "virginica", "versicolor"), real=real_sort)); #计算分类准确度
最后计算出来的分类准确度如下,分类准确度还是不错的:
real
predict setosa versicolor virginica
versicolor 0 16 0
virginica 0 2 15
程序包mlogit提供了多项logit的模型拟合函数,参见,有空再学习下。先睡觉...Zz.
相关文章推荐
- 使用R完成逻辑斯蒂回归分类 直接上代码,如下:
- 逻辑斯蒂回归多元分类的随机梯度下降
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- Theano教程:使用逻辑回归分类MNIST数字
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 【Python-ML】SKlearn库逻辑斯蒂回归(logisticregression) 使用
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- tensorflow 学习专栏(四):使用tensorflow在mnist数据集上使用逻辑回归logistic Regression进行分类
- exercise 3 (逻辑斯蒂回归实现多分类问题)
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 使用逻辑回归对MNIST数字分类
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型