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])
# 可以用这种方法画出某几类颜色的圆点

相关文章
|
6月前
|
机器学习/深度学习 监控 数据可视化
数据分享|电信行业客户流失预测:KNN、朴素贝叶斯、逻辑回归、LDA/QDA、随机森林、支持向量机、CART、神经网络
数据分享|电信行业客户流失预测:KNN、朴素贝叶斯、逻辑回归、LDA/QDA、随机森林、支持向量机、CART、神经网络
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析
R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析
|
6月前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6月前
|
算法 Python
利用贝叶斯算法对简单应用实现预测分类
利用贝叶斯算法对简单应用实现预测分类
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例1
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6月前
|
机器学习/深度学习 算法 数据可视化
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享(上)
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享
|
6月前
|
机器学习/深度学习
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享(下)
【视频】R语言LDA线性判别、QDA二次判别分析分类葡萄酒品质数据|数据分享
|
6月前
|
机器学习/深度学习 算法 Serverless
数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型
数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型
|
6月前
|
搜索推荐 数据挖掘 大数据
基于LDA主题模型聚类的商品评论文本挖掘
基于LDA主题模型聚类的商品评论文本挖掘
|
6月前
|
数据可视化
R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量
R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量