问题的解决

用Python对高光谱数据集进行归一化处理,之前调用自己写的归一化函数对Indian_pines,Salina,PaviaU和Pavia高光谱数据集进行归一化数据处理没有遇到问题,最近需要对KSC数据集进行归一化处理,处理之后对定义的网络结构在KSC数据集上进行调参训练,调了整整两天没有任何提高,分类正确率很差,感觉哪儿肯定出了问题,可是一直在网络训练参数和算法上找问题,没有想到去看数据集,后来在学长的帮助下一起看了数据集,发现是数据集处理的有问题,今天花了基本上一天时间研究了一下这个问题,发现是数据类型的问题,代码:

 import numpy as np data, labels = np.array(ksc.data), np.array(ksc.labels)    #<1>print data.dtype,labels.dtype

运行结果为:

uint16 uint8

而原来的数据集中的ksc.data,ksc.labels类型为

float float

这说明用代码 <1>对数据进行处理时发生了类型转换,后来查阅了资料,发现np.array函数中不指定数据类型时会发生类型转换:

 import numpy as npdata, labels = np.array(ksc.data,dtype=np.float), np.array(ksc.labels,dtype=np.float)   #<1>data_1x1=scale_to1(data)

而其它四个数据集没有发生错误是之前用了代码<2>之后才进行归一化处理的,也就是说处理的数据类型是float而KSC没有用代码<2>处理的数据类型是int,而我目前的Python版本是Python2,7,其对int型和float型的除法结果不同,这导致了结果的错误:

data_1=np.zeros(data.shape) #<2>
data_1=data
data_1x1=scale_to1(data_1)

我做了如下实验:

data_1=np.zeros(data.shape)
print data_1.dtype

运行结果为:

float64

这说明不指定类型时np.zeros的类型为float,所以才没有发生错误。

总结

为了解决这个问题,所做的项目三天没有任何进展,最后在学长的帮助下还是解决了,这提醒我在遇到不知道怎么解决的问题或者是明显是错的问题时,一定要回到问题的原点进行重新思考,就拿这个问题来说,就是要回到原点思考数据集的问题,这样才解决了问题。然后基础无比重要,要重视基础的学习,最后还是实践,绝知此事要躬行,每次解决问题,须躬行的感触会深一点。

用Python对KSC数据集处理的一次排错经历相关推荐

  1. Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例

    Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录

  2. Python实现鸢尾花数据集分类问题——基于skearn的SVM(有详细注释的)

    Python实现鸢尾花数据集分类问题--基于skearn的SVM 代码如下: 1 # !/usr/bin/env python2 # encoding: utf-83 __author__ = 'Xi ...

  3. python数据建模数据集_Python中的数据集

    python数据建模数据集 There are useful Python packages that allow loading publicly available datasets with j ...

  4. python计算iris数据集的均值_K均值(K-Means)

    聚类是数据挖掘中的基本任务,聚类是将大量数据集中具有"相似"特征的数据点划分为统一类别,并最终生成多个类的方法. 聚类分析的基本思想是"物以类聚.人以群分",因 ...

  5. Python实现鸢尾花数据集分类问题——基于skearn的LogisticRegression

    Python实现鸢尾花数据集分类问题--基于skearn的LogisticRegression 一. 逻辑回归 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题, ...

  6. python制作印刷体数据集:数字符号数据集(字符串转图片)

    做OCR项目,需要有很多印刷体的数据集,靠人工手动截图标注显然不现实,于是"人生苦短,我用python" 思路:数据集分两类,一类是长浮点数,模拟财务报表中的上亿元金额: 比如79 ...

  7. [Python+sklearn] 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split()

    Python - sklearn 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split() 功能: 将数组或矩阵拆分为随机的训练子集和测试子集 ...

  8. python 手动读取cifar10_如何用python解析cifar10数据集图片

    概述 通用图像分类公开的标准数据集常用的有CIFAR.ImageNet.COCO等,常用的细粒度图像分类数据集包括CUB-200-2011.Stanford Dog.Oxford-flowers等.其 ...

  9. 项目:机器学习+FLD分类+python图像处理mnist数据集

    机器学习+FLD分类+python图像处理mnist数据集 ** 以mnist数据集实现Fisher Linear Discriminant(FLD)的分类以及降维功能 任务一如下所示 以下任务是te ...

最新文章

  1. 区块链技术应用领域和优势
  2. ​Spring事务的传播行为案例分析
  3. 企业中的局域网性能应该怎么得到保障?
  4. osx10.15.5降级成10.3.3
  5. mysql replace 不区分大小写_mysql 不区分大小写的解决
  6. 在ubuntu系统下下载和卸载skype
  7. win10系统有些软件有声音,有些软件没有声音
  8. EDA安装------Centos7安装ANSYS
  9. 2018毕业第一份工作--技术支持
  10. MOS管的finger和multiplier
  11. 获取视频fps、总帧数
  12. Win11安卓子系统(WSA)怎么卸载?
  13. 机器学习实验室讲座 总结报告
  14. 30_ElasticSearch IK分词器配置文件 以及自定义词库
  15. Windows10 IoT 企业版 LTSC 2021安装应用商店
  16. 美团后台开发实习生面试经验
  17. Redis指南——03入门(上)
  18. 使用VB写一个简单的添加系统环境变量的软件以及实现一键格式化U盘
  19. 【BOOST C++字串专题11】Boost.Spirit(三)
  20. Arthas-idea

热门文章

  1. 为什么吃完早饭后会犯困(如何度过一个不犯困的上午呢)
  2. Android下载网络图片并保存到相册
  3. 是新时代的产物?还是昙花一现?软件众包将何去何从
  4. 5G 核心网 5GS to EPS handover for single-registration mode with N26 interface
  5. 电荷分级DAC中二元加权电容器的寄生感知大小和详细路由
  6. Windows系统下 onedrive 网页进不去
  7. centos 8 的图形操作界面在哪_商显首款基于安卓系统的图形化调用API软件—智微智能SPIRIT测评...
  8. [附源码]计算机毕业设计springboot校园代取快递系统
  9. Java配置path和classpath的含义详解
  10. 蓝宝石 590 GME D5 8G可以刷的vbios,黑苹果免驱