LDA-小麦分类

简介: LDA-小麦分类

线性判别分析(LDA)是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。LDA的思想可以用一句话来概述,就是“投影后类内方差最小,类间方差最大”,也就是投影后希望每一种类别数据的投影点尽可能地接近,而不同类别的数据的类别中心之间的距离尽可能的大。(高内聚,低耦合)

  1. 对d维数据进行标准化处理(d为特征数量)
  2. 对每一类别,计算d维的均值向量
  3. 构造类间的散步矩阵和类内的散步矩阵
  4. 计算矩阵的特征值和对应的特征向量
  5. 选取前k个特征值对应的特征向量,构造一个d x k维的转换矩阵W,特征向量以列的形式排列
  6. 使用转换矩阵W将样本映射到新的特征子空间上

程序如下:

import numpy as np
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import numpy 
import pandas as pd
fp=open('seeds_dataset.txt','r')
ls=[]
for line in fp:
    line=line.strip('\n')   #将\n去掉
    ls.append(line.split('\t'))   #将空格作为分隔符将一个字符切割成一个字符数组
fp.close()
ls=numpy.array(ls,dtype=float)   #将其转换成numpy的数组,并定义数据类型为float
print(ls)
# 将文件转为DataFrame表格
ls_pd = pd.DataFrame(ls)
y = ls_pd.loc[:,7]

进行数据预处理

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
data_std = sc.fit_transform(ls_pd.loc[:,1:6])

调用sklearn中的LDA

data_LDA = LinearDiscriminantAnalysis(n_components=2).fit_transform(data_std, y)

将结果画出

plt.figure(figsize=(8,4))
plt.title("sklearn_LDA")
plt.scatter(data_LDA[:, 0], data_LDA[:, 1], c = y)
plt.savefig("LDA.png",dpi=600)
plt.show()

另:

plt.figure(figsize=(8,4))
plt.title("sklearn_LDA")
plt.scatter([1,2,3], [4,5,6], c = [1,2,1])
# 可以用这种方法画出某几类颜色的圆点

相关文章
|
4月前
|
机器学习/深度学习 数据采集
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
82 3
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证(上)
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证
|
7月前
|
算法 Python
利用贝叶斯算法对简单应用实现预测分类
利用贝叶斯算法对简单应用实现预测分类
|
7月前
|
机器学习/深度学习 算法 数据可视化
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享(上)
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享
|
7月前
|
机器学习/深度学习
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享(下)
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享
|
7月前
|
机器学习/深度学习 算法 数据挖掘
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证(下)
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证
|
7月前
|
机器学习/深度学习 算法 Serverless
数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型
数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型
|
7月前
|
搜索推荐 数据挖掘 大数据
基于LDA主题模型聚类的商品评论文本挖掘
基于LDA主题模型聚类的商品评论文本挖掘
|
7月前
|
机器学习/深度学习 数据可视化 算法
多项式Logistic逻辑回归进行多类别分类和交叉验证准确度箱线图可视化
多项式Logistic逻辑回归进行多类别分类和交叉验证准确度箱线图可视化
|
7月前
|
数据挖掘
R语言法国足球联赛球员因子分析、主成分分析(FA,PCA)
R语言法国足球联赛球员因子分析、主成分分析(FA,PCA)