LDA and QDA

本文展示了如何在Python中使用scikit-learn库实现线性判别分析(LDA)和二次判别分析(QDA),并与自定义QDA函数进行比较。通过加载iris数据集并计算准确率,探讨了这两种方法在分类任务中的效果。
摘要由CSDN通过智能技术生成
简单的R实现:

library(MASS)
Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]), Sp = rep(c("s", "c", "v"), rep(50, 3)))
y_hat <- predict(lda(Sp~.,Iris, prior = c(1, 1, 1)/3),Iris)$class
sum(y_hat == Iris$Sp)/150

一般numpy中对于ndarray的处理对python内置list也是可以作用的。(构造函数实现了转型)
下面对sklearn中线性判别及二次判别进行了调用,并与DIY二次判别进行比较,
这里使用了python字符串执行及实例化函数exec及eval提高了DIY函数的可重用性:

from __future__ import division
import numpy as np 
from sklearn.datasets import load_iris 
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis, QuadraticDiscriminantAnalysis
from functools import partial

iris = load_iris()
data, target = iris.data, iris.target

X, y = data, target
clf = LinearDiscriminantAnal
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值