【基于Python】 - 人工智能机器学习深度学习数据分析 - 常见问题,常用的套路与操作(持续更新)

20200221;

1.做分类问题的时候,给定你标签,你想知道每一类标签的出现频数,可以使用这个函数:np.bincount()。

如果想分析一下数据样本是否均衡的时候,可以考虑这种操作,代码十分简明。

 

2.

当需要查看数据集中两个Key对应的数据是否是统一数据转化而来的时候:

输入:from sklearn.datasets import load_digits
digits=load_digits()
digits.keys()
n_samples,n_features=digits.data.shape
print((n_samples,n_features))print(digits.data.shape)
print(digits.images.shape)import numpy as np
print(np.all(digits.images.reshape((1797,64))==digits.data))输出:(1797, 64)
(1797, 64)
(1797, 8, 8)
True

在这个数据集中,其实对于每一张图像image中是8*8的,而data是1*64的就是了。


20200308: 

3.显示进度条的神器

引入一个包:tqdm(anaconda自带)

git链接:https://github.com/tqdm/tqdm

这个包是用来显示进度条的,很漂亮,使用很直观(在循环体里边加个tqdm),而且基本不影响原程序效率。这样在写运行时间很长的程序时,可以用到。

使用方式见下图:

tqdm

在循环体内套一个tqdm(),就可以实现每执行一遍循环,进度条就会前进1,十分直观。

但是有个问题,如果循环里面要进行输出的话,就有点难受了。

import time
from tqdm import tqdm
for i in tqdm(range(20)):time.sleep(0.5)print('hello',i)

参考链接:https://spaces.ac.cn/archives/3902

 


20200403

在读入图片进行操作的时候,需要预处理,一般都先预处理到RGB格式,因为有时会给定的原始图片未经清洗,所以有可能是'P'  mode 或者‘RGBA’ mode,

所以常见套路:

for i in range(100):img = Image.open(train_image_path[i]).convert("RGB")img = img.resize((256,256),Image.ANTIALIAS)X_train[i] = np.array(img)

 

参考链接:https://blog.csdn.net/qiusuoxiaozi/article/details/79556605

 


20200403

对数据进行处理时,或者将numpy扩充维数时,(比如你要导入1000张图片),要注意首先要检查1000张图片的shape是否一样。

并且,先用list去append,最后再转numpy,速度会非常慢,所以最好的办法有如下两个:

1. 用numpy的np.concatenate函数

2. 直接提前开好numpy数组,然后直接赋值即可,比如下面这段程序: 

常见套路:

import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import glob
train_image_path = glob.glob('cat1000/*.jpg')
X_train = np.zeros((1000,256,256,3))for i in range(100):img = Image.open(train_image_path[i]).convert("RGB")img = img.resize((256,256),Image.ANTIALIAS)X_train[i] = np.array(img)

 

参考链接:https://blog.csdn.net/qq_31785005/article/details/78460757


20200425

进行数据预处理的时候,要注意数据类型的问题,比如tf.image.resize_images函数,在参数的选择上,推荐选择双线性插值,因为双三次差值可能会出现取值范围不在0-255范围内的情况。

https://blog.csdn.net/u011583927/article/details/103307473

 


20200426

注意使用PCA降维的时候,要先标准化再进行降维!

比如可以直接用sklearn的

from sklearn.preprocessing import StandardScaler

然后StandardScaler().fit(数据集) 就完事了。


20200426

做分类时:

kNN算法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。kNN算法在类别决策时,只与极少量的相邻样本有关。由于kNN算法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。

https://www.cnblogs.com/ljhdo/p/10600613.html


20200426

绘图常用:

plt.xlim、plt.ylim 设置横纵坐标轴范围 
plt.xlabel、plt.ylabel 设置坐标轴名称 
plt.xticks、plt.yticks设置坐标轴刻度
另外也可以使用plt.axis([xmin, xmax, ymin, ymax])确定坐标值的范围
# 设置刻度字体大小
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
# 设置坐标标签字体大小
ax.set_xlabel(..., fontsize=20)
ax.set_ylabel(..., fontsize=20)
 

https://blog.csdn.net/htuhxf/article/details/82986440

https://blog.csdn.net/helunqu2017/article/details/78736415

 

 

对于分类问题常用来做结果分析:

 

混淆矩阵:

n类问题,则生成n*n的矩阵


20200426

zip进行打包的话,输出一次之后就自动解除打包了,如需第二次使用,还需再zip一次。

 


20200506

用conda安装包时,可以直接:(假设要安装cuda和cudnn)

 


20200506

sourse可以省略。


20200512

从某文件夹中读取所有图片常用操作:

image_paths=[os.path.join(path, f) for f in os.listdir(path)]

或者用glob.glob也是可以的 

文件路径相关操作:

os.path.split(image_path)[-1].split(".")[-1]

 如果im.read(),读入了一张空图或者报错,考虑是不是绝对路径中出现了中文。或者是斜杠反斜杠问题。


20200514

cv2.resize()函数参数比较容易出错。

正常来说img.shape = (h , w)

大师resize的时候传入的参数需要是(w,h)。详情看下面的例子:

import cv2
from scipy import miscimg = misc.imread('001.jpg')
print(img.shape)
img2 = cv2.resize(img, (30, 40), interpolation=cv2.INTER_CUBIC)
print(img2.shape)
img3 = cv2.resize(img, (40, 30), interpolation=cv2.INTER_CUBIC)
print(img3.shape)输出:
(250, 250, 3)
(40, 30, 3)
(30, 40, 3)

参考链接:https://blog.csdn.net/FortiLZ/article/details/81396566 


20200517

在进行样本归一化的时候,要注意训练集归一化了,那么测试集也要归一化,且测试集要用训练集的均值,方差,最大值最小值进行归一化。原因很好解释,因为你在预测的时候,其实是不知道测试集的均值等这些属性的


 


 


 


 


 


 


 

 


 


 


 


 


 

 


 


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Entity Framework 简介

转贴:链接https://www.cnblogs.com/davidzhou/p/5348637.html 侵删,谢谢 第一篇:Entity Framework 简介 先从ORM说起吧,很多年前,由于.NET的开源组件不像现在这样发达,更别说一个开源的ORM框架&#xff0…

【Python学习】 - pyecharts包 - 地图可视化

安装: https://pan.baidu.com/s/1vAlSjVbHt0EDJY6C_38oEA 提取码:t9be 在这个链接中下载对应的.whl文件,放到下图所示的目录中。 然后打开anaconda prompt 找到对应的目录,输入: pip install pyecharts-0.1.9.4-py…

【机器学习】 - 关于图像质量评价IQA(Image Quality Assessment)

图像质量评价(Image Quality Assessment,IQA)是图像处理中的基本技术之一,主要通过对图像进行特性分析研究,然后评估出图像优劣(图像失真程度)。 主要的目的是使用合适的评价指标,使得评价结果…

【机器学习】 - CNN

什么是卷积神经网络,它为何重要? 卷积神经网络(也称作 ConvNets 或 CNN)是神经网络的一种,它在图像识别和分类等领域已被证明非常有效。 卷积神经网络除了为机器人和自动驾驶汽车的视觉助力之外,还可以成功…

Asp.Net中WebForm与MVC,Web API模式对比

webform,web mvc和web api都是asp.net官方的三套框架,想对比下三者的关系,查了下资料,web api跟web mvc基本同属一脉,只是mvc多了一个视图渲染,网上有些博客介绍了webform和mvc底层源码实现的不同&#xff…

【机器学习】 - Keras学习 - TensorBoard模块 - 可视化模型训练过程神器

运行环境:Win10 anaconda3。 TensorFlow版本:2.0.0 import numpy as np import tensorflow as tf import tensorflow.keras from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import matplotlib.pyplot as…

无废话SharePoint入门教程一[SharePoint概述]

一、前言 听说SharePoint也有一段时间了,可一直处在门外。最近被调到SharePoint实施项目小组,就随着工作一起学习了一下实施与开发。但苦于网上SharePoint入门的东西实在太少,导致自学入门很难,不知道SharePoint这东西到底能做什么…

SharePoint 站点结构及概念

简单的记录一下Sharepoint的结构与基本概念 一、服务器场 服务器场,即主机的集群.简单点说就是两台机器互相备份,两个或几台机器之间有心跳线,定时检测对端设备的情况,如果对端设备出现故障,一台机器就会接管出问题机器的受保护…

【Python学习】 - sklearn学习 - 自带数据集sklearn.datasets.x

sklearn 的数据集有好多个种 自带的小数据集(packaged dataset):sklearn.datasets.load_可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_计算机生成的数据集(Generated Datas…

sharepoint 概念及认证方式介绍

3.SharePoint Web 应用程序 我个人的理解,SharePoint Web 应用程序(SharePoint Web Application)代表的是 SharePoint 网站(集)的物理容器。 SharePoint Web 应用程序需要指定内容数据库、宿主 IIS 应用程序池、应用…

我们可以用SharePoint做什么

前言 不知不觉作为一个SharePoint的开发人员若干年了,从SharePoint api 开始学习,到了解SharePoint的结构,逐渐一点点了解sharepoint的体系;从SharePoint 的2007到2010到2013到SharePoint Online都接触了一些。本文会从个人的视角…

SharePoint REST API - 确定REST端点URL

SharePoint REST端点URI的结构 在你能够通过REST访问SharePoint资源之前,首先你要做的就是找出对应的URI端点,如果你对Client API熟悉,有些时候也可以参考Client API去猜测构建,例如。 客户端对象模型的方法: List.G…

【机器学习】 - 各种人脸数据集下载地址及说明汇总

1. Olivetti Faces人脸数据集 由40个人组成,共计400张人脸; 每人的人脸图片为10张,包含正脸、侧脸以及不同的表情; 整个数据集就是一张大的人脸组合图片,下载地址:https://cs.nyu.edu/~roweis/data/olivet…

【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别

Content: 为什么需要激活函数;一个神经元在做什么;激活函数 SigmoidSoftmax 4. 交叉熵损失函数 Binary cross-entropyCategorican cross-entropy为什么需要激活函数: Ans: 为了引入非线性变换。 如下图所示的红线和蓝线,在这个…

SharePoint 2013 Farm 安装指南——Least Privilege

写过很多关于SharePoint 2013 安装,这是第四篇。可能你会觉得为什么如此简单的安装至于花那么多精力去折腾吗。我的答案是肯定的。知识的积累不是一蹴而就的,而是循序渐进的去学习,每一个阶段都有独立的思考,于是乎第四篇SharePoi…

【机器学习】 - 关于Keras的深入理解

1.keras中使用相同的loss与metrics,都指定为mse,为什么训练时每轮完成后它们数值不一样? 答: 此时的loss是指完成最后一个batch后得到的这轮epoch的loss的加权平均,权重就是每个batch的样本数,&#xff08…

SharePoint 2007 and 2010 的服务器场的端口

由于要把一台SharePoint Server放到外网去,就把IP改到DMZ区了,结果除了系统管理员,其他帐号都无法验证通过,肯定是一些端口没开. 网上一查,SharePoint所需要的端口还真多,不过Client和WFE之间的应该开放80和443就OK了,其余的都是SharePoint Server之间,或者和 公司网络环境的…

【Python学习】 - 使用Anaconda的Spyder查看某些函数的原型的6种方法汇总

1.Ctrl鼠标点击函数名(对应的函数名会加下划线) 或 Ctrlg 2.help(function) 在某些情况下方法1失效,比如TensorFlow中的一些函数tf.constant,他只会跳转到一个init文件,并不会展示函数原型。 所以可以这样help(tf.co…

关于报错:'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

使用cmd查看电脑显卡的信息,调用nvidia-smi查看显卡使用情况报错如下: 因为它找不到该命令。这个文件是一个exe文件,一般都在下面这个文件夹中。 C:\Program Files\NVIDIA Corporation\NVSMI 所以想要使用该命令必须要能得到这个文件夹&…

SharePoint网站集备份与恢复

下面是操作过程&#xff1a;尝试三是成功的 尝试一&#xff1a;移动网站集&#xff08;无效&#xff09; 向Web应用程序新增了一个数据库&#xff0c;把网站集迁移到新数据库里&#xff1b; Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -Destination…