numpy

sklearn——数据数据预处理

假装没事ソ 提交于 2021-02-03 06:34:45
一、数据的标准化、归一化、正则化 1、标准化   将数据转化为均值为0方差为1的数据,即标准正态分布。标准化可以规范数据,但不适用于稀疏数据,因为会破坏其数据结果。标准化的过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。即每一列减去该列的均值再除以该列的方差。   在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,StandardScaler表现更好。 对应函数:   sklearn.preprocessing.scale(X, axis=0, with_mean=True, with_std=True, copy=True) x:需要标准化标准化的数据。 axis:需要标准化的方向,0为列,1为行。 with_mean:是否去均值的中心化,默认为True。 with_std:是否方差规模化,默认为True。 copy:是否要copy数据。 代码示例:    import numpy as np from sklearn.preprocessing import scale a =np.random.normal(4,5,[5,2]) # 创造数据 a_s=scale(a) # 标准化 print ( ' a:\n ' ,a) print ( ' \na_s:\n ' ,a_s) print ( ' \na_s的均值: '

机器学习:评价分类结果(F1 Score)

牧云@^-^@ 提交于 2021-02-02 13:57:00
一、基础 疑问1 :具体使用算法时,怎么通过精准率和召回率判断算法优劣? 根据具体使用场景而定: 例1 :股票预测,未来该股票是升还是降?业务要求 更精准的找到能够上升的股票; 此情况下,模型精准率越高越优。 例2 :病人诊断,就诊人员是否患病?业务要求 更全面的找出所有患病的病人 ,而且尽量不漏掉一个患者;甚至说即使将正常人员判断为病人也没关系,只要不将病人判断成健康人员就好。此情况,模型召回率越高越优。 疑问2 ::有些情况下,即需要考虑精准率又需要考虑召回率,二者所占权重一样,怎么中欧那个判断? 方法 :采用新的评价标准,F1 Score; 二、F1 Score F1 Score :兼顾降准了和召回率,当急需要考虑精准率又需要考虑召回率,可查看模型的 F1 Score,根据 F1 Score 的大小判断模型的优劣; F1 = 2 * Precision * recall / (precision + recall) ,是二者的调和平均值; F1 是 precision 和 recall 的调和平均值 ; 调和平均值 :如果 1/a = (1/b + 1/c) / 2,则称 a 是 b 和 c 的调和平均值; 调和平均值特点 :|b - c| 越大,a 越小;当 b - c = 0 时,a = b = c,a 达到最大值; 具体到精准率和召回率,只有当二者大小均衡时,F1

OpenCV-几何变换-移动、旋转、仿射变换

半腔热情 提交于 2021-02-02 10:00:56
OpenCV 提供了两个变换函数, cv2.warpAffine 和 cv2.warpPerspective ,使用这两个函数你可以实现所有类型的变换。 cv2.warpAffine 接收的参数是2 × 3 的变换矩阵,而 cv2.warpPerspective 接收的参数是 3 × 3 的变换矩阵。 扩展缩放    方法: resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)      dsize 为缩放大小          fx,fy 为影响因子      interpolation 为插值算法(在缩放时推荐使用 cv2.INTER_AREA ,在扩展时推荐使用 cv2.INTER_CUBIC (慢) 和 cv2.INTER_LINEAR 。默认情况下所有改变图像尺寸大小的操作使用的插值方法都是 cv2.INTER_LINEAR ) 1 import numpy as np 2 import cv2 3 4 img1 = cv2.imread( " ../image/min.jpg " ) 5 6 # 方式一 7 img2 = cv2.resize(img1, None, fx=2, fy=2, interpolation= cv2.INTER_CUBIC) 8 9 # 方式二 10 height

Why do numpy array turns int into float

吃可爱长大的小学妹 提交于 2021-02-02 10:00:25
问题 I'm trying to fill an array with integers, but it seems like numpy array keep turning the integers into floats. Why is this happening and how do I stop this? arr = np.empty(9) arr[3] = 7 print(arr[3]) >>>7.0 回答1: NumPy arrays, unlike Python lists, can contain only a single type, which (as far as I know) is set at creation time. Everything you put into the array gets converted to that type. By default, the data type is assumed to be float . To set another type, you can pass dtype to the empty

数据预处理 --Sklearn preprocessing的理解

天大地大妈咪最大 提交于 2021-02-02 05:59:09
一、标准化 API函数: scaler()或者StandardScaler()   数据集标准化对有些机器学习算法是很有必要的手段,只所以进行标准化,是因为两个原因:其一,对于同一特征中,最大最小值之差过大,将数据缩放在合适的范围,比如手机包月流量使用情况,有些数值是500M,有些是1G;其二、有些机器学习算法中目标函数的基础为假设特征均值为0,方差在同一介数的情况,sklearn官网说这类算法比如:SVM的RBF内核或线性模型的l1和l2正则化,如果某些特征的方差比其它的特征方差大几个数量级别,A方差是1,B特征方差是1000,那么会导致B特征对此算法占主导地位,导致学习器不是你所期望的结果。 标准化公式:(X - X_mean)/X_std; 计算时对每个属性/每列分别进行。 API函数一:sklearn.preprocessing.scale(X, axis= 0, with_mean= True,with_std= True,copy= True) 变量注解:   X:{array-like, sparse matrix}   axis:默认值为0,为0表示分别标准化每个特征(按列),为1表示对每个样本进行标准化(按行)   with_mean和with_std:分别表示数据均值规范为0,方差规范为1 用例: from sklearn import

使用matplotlib画图

好久不见. 提交于 2021-02-02 05:26:14
一、介绍 官方文档: https://www.matplotlib.org.cn/home.html 安装: pip install matplotlib Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。 二、使用例子 1、 波形图 import matplotlib.pyplot as plt import numpy as np x =np.linspace(0,2*np.pi,100) # 100个点组成的2*np.pi线 y1=np.sin(x) # y1线 y2=np.cos(x) # y2线 plt.title( " sin&cos title " ) # 标题 plt.xlabel( " x " ) # x轴的名称 plt.ylabel( " y " ) # y轴的名称 plt.plot(x,y1) #画 y1线 plt.plot(x,y2) #画 y2线 plt.show() # 显示 图片 2、柱状图 import matplotlib.pyplot as plt name_list = [ " A " , " B " , " C " , " D "

04_data特征预处理 of 特征工程 【day1】

僤鯓⒐⒋嵵緔 提交于 2021-02-02 02:51:42
0、Xmind 1、data的特征预处理       1、what is 特征处理?   统计方法,要求的data    2、 特征预处理的方式    3、sklearn.preprocessing   there are all 预处理 method 2、归一化 1. what is 归一化?   原始data -----变换、映射----> [0,1] 2. 公式          计算过程           3. sklearn.preprocessing.MinMaxScalar   sklearn.preprocessing.MinMaxScalar                scalar缩放   语法      步骤       input:二维array  代码 from sklearn.preprocessing import MinMaxScaler # 归一化 def minmaxSclar(): """ 归一化处理 :return: None """ # mm = MinMaxScaler() mm = MinMaxScaler(feature_range=(2,3 )) data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46 ]]) print (data) if __name__

李宏毅 线性回归预测PM2.5

强颜欢笑 提交于 2021-02-02 02:06:40
作业说明   给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量。 训练集介绍:   (1):CSV文件,包含台湾丰原地区240天的气象观测资料(取每个月前20天的数据做训练集,12月X20天=240天,每月后10天数据用于测试,对学生不可见);   (2):每天的监测时间点为0时,1时......到23时,共24个时间节点;   (3):每天的检测指标包括CO、NO、PM2.5、PM10等气体浓度,是否降雨、刮风等气象信息,共计18项; (4):数据集 https://github.com/datawhalechina/leeml-notes/blob/master/docs/Homework/HW_1/Dataset 数据处理 【下文中提到的“数据帧”并非指pandas库中的数据结构DataFrame,而是指一个二维的数据包】 根据作业要求可知,需要用到连续9个时间点的气象观测数据,来预测第10个时间点的PM2.5含量。针对每一天来说,其包含的信息维度为(18,24)(18项指标,24个时间节点)。可以将0到8时的数据截 取出来,形成一个维度为(18,9)的数据帧,作为训练数据,将9时的PM2.5含量取出来,作为该训练数据对应的label;同理可取1到9时的数据作为训练用的数据帧,10时的PM2.5含量作为label......以此

捋一捋少有人知的 Python "重试机制"

扶醉桌前 提交于 2021-02-01 11:14:46
点击上方“ Python爬虫与数据挖掘 ”,进行关注 回复“ 书籍 ”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 弃我去者,昨日之日不可留。 周末愉快,欢迎小伙伴积极学习,文末有 《 Python数据分析 》5本书籍的送书活动 ,记得参与噢~ 为了避免由于一些网络或等其他不可控因素,而引起的功能性问题。 比如在发送请求时,会因为网络不稳定,往往会有请求超时的问题。 这种情况下,我们通常会在代码中加入重试的代码。重试的代码本身不难实现,但如何写得优雅、易用,是我们要考虑的问题。 这里要给大家介绍的是一个第三方库 - Tenacity (标题中的重试机制并并不准确,它不是 Python 的内置模块,因此并不能称之为机制),它实现了几乎我们可以使用到的所有重试场景,比如: 在什么情况下才进行重试? 重试几次呢? 重试多久后结束? 每次重试的间隔多长呢? 重试失败后的回调? 在使用它之前 ,先要安装它 $ pip install tenacity 1. 最基本的重试 无条件重试,重试之间无间隔 from tenacity import retry @retry def test_retry () : print( "等待重试,重试无间隔执行..." ) raise Exception test_retry() 无条件重试,但是在重试之前要等待 2 秒 from

Py之seaborn:数据可视化seaborn库的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的简介、使用方法之最强攻略(建议收藏)

烂漫一生 提交于 2021-02-01 10:50:45
Py之seaborn:数据可视化seaborn库的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的简介、使用方法之最强攻略(建议收藏) 导读 :数据可视化是以客观数据为主体,从数据角度窥探这个世界;目的是描述真实,洞察未知;从浩如烟海的复杂数据中理出头绪,化繁为简,变成看得见的财富, 要让行动的决策人在短时间内看得懂 ,从而实现更高效的决策。它主要是借助于图形化手段,清晰有效地传达与沟通信息。但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令人感到枯燥乏味,或者是为了看上去绚丽多彩而显得极端复杂。为了有效地传达思想概念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,从而实现对于相当稀疏而又复杂的数据集的深入洞察。 目录 一、如何选择图表类型? 二、seaborn库中单独绘图的11种函数讲解:数据可视化Seaborn库的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的简介、使用方法之最强攻略(建议收藏) 1、countplot函数:柱状图(类别特征计算重复个数) 2、catplot函数:柱状图、箱型图(置信区间)、散点图、小提琴图等 (1)、CatPlotByG (2)、CatPlotByHG 3、barplot函数:条形图可视化 (1)、BarPlot (2)