数据预处理系列:(十三)用字典学习分解法分类
来源:互联网 发布:重庆博拉网络怎么样 编辑:程序博客网 时间:2024/06/13 22:54
声明:版权所有,转载请联系作者并注明出处 http://blog.csdn.net/u013719780?viewmode=contents
用字典学习分解法分类
在这个主题中,我们将介绍一种可以用于分类的分解方法——字典学习(Dictionary Learning),将数据集转换成一个稀疏的形式。
Getting ready
DictionaryLearning
方法的思想是把特征看作构成数据集的基础。首先我们导入iris
数据集:
In [1]:
%matplotlib inlineimport matplotlib.pyplot as pltimport numpy as np
In [2]:
from sklearn.datasets import load_irisiris = load_iris()iris_data = iris.datairis_target = iris.target
How to do it...
首先,导入DictionaryLearning
:
In [3]:
from sklearn.decomposition import DictionaryLearning
然后用三个成分表示iris
数据集中花的类型:
In [4]:
dl = DictionaryLearning(3)
再用fit_transform
转换其他数据,这样我们就可以对比训练前后的数据了:
In [5]:
transformed = dl.fit_transform(iris_data[::2])transformed[:5]
Out[5]:
我们可以可视化这个结果。注意,每个成分的值分别平行
In [6]:
from mpl_toolkits.mplot3d import Axes3Dcolors = np.array(list('rgb'))f = plt.figure()ax = f.add_subplot(111, projection='3d')ax.set_title("Training Set")ax.scatter(transformed[:, 0], transformed[:, 1], transformed[:, 2], color=colors[iris.target[::2]]);
如果你细心看,还是会发现一些误差。有一个样本分错了类型,虽然一个错误并不是很严重。
下面,让我们用fit
而不用fit_transform
来训练数据集:
In [7]:
transformed = dl.transform(iris_data[1::2])
In [8]:
colors = np.array(list('rgb'))f = plt.figure()ax = f.add_subplot(111, projection='3d')ax.set_title("Training Set")ax.scatter(transformed[:, 0], transformed[:, 1], transformed[:, 2], color=colors[iris.target[1::2]]);
还是有一些分类错误的样本。如果你看看之前降维主题中的图,会发现绿色和蓝色两类数据有交叉部分。
How it works...
DictionaryLearning
具有信号处理和神经学领域的背景知识。其理念是某一时刻只有少数特征可以实现。因此,DictionaryLearning
在假设大多数特征都是0的情况下,尝试发现一个适当的数据表现形式。
1 0
- 数据预处理系列:(十三)用字典学习分解法分类
- 数据预处理系列:(五)分类变量处理
- 博客用户分类(数据预处理)
- PyTorch学习系列(二)——数据预处理torchvision.transforms
- OllyDbg破解系列学习笔记(十三)
- WorldWind学习系列十三:地形数据(DEM)加载和应用(入门篇)
- 数据预处理系列:(二)创建试验样本数据
- 数据预处理之“分类”数据离散化
- 数据预处理之“分类”数据离散化
- 数据预处理练习(深度学习)
- Spark学习(一)基础数据预处理
- 深度学习-----数据预处理
- 机器学习数据预处理
- 【机器学习】数据预处理
- 大数据学习笔记(十三)-SparkStreaming
- 分类算法之一——数据预处理
- 文本分类的数据预处理流程介绍
- 数据预处理系列:(四)用阈值创建二元特征
- https原理及tomcat配置https
- 服务器被渗透过程及后门源码
- Eclipse Android 代码自动提示功能
- Android 改变单选按钮RadioButton的颜色
- easyui导出Excel、Word java
- 数据预处理系列:(十三)用字典学习分解法分类
- Poj 2253 Frogger【kuskal变形】
- [期望 数学] BZOJ 2720 [Violet 5]列队春游
- CSS 设置最小高度
- logiscope 应用度量元 翻译和解释
- spark alone模式参数中英文对照
- spring声明式事务 同一类内方法调用事务失效
- 自定义View系列教程06--详解View的Touch事件处理
- android async-http使用