深度学习必备----python中数据处理与特征等基础知识(代码片段)

CodingWithyou..... CodingWithyou.....     2022-12-24     112

关键词:

 

 

1.对数据进行类型转化

import pandas as pd

 

s = pd.Series(['1', '2', '4.7', 'pandas', '10'])

s.astype(float, errors='ignore')------------------------可以将s转化为float类型,对于不能正常转化的值可以忽略掉

pd.to_numeric(s, errors='coerce')---------------------可以将s中的值转化为数字,不能转化的将会以NAN来代替

 

2.处理重复数据

 

df.drop_duplicates()去掉重复数据

df.drop_duplicates('column1', keep='last')去掉重复数据,但有条件限制:如果数据重复,保留column1字段中排在后面的那一个

 

3.判断缺失数据

s.isna()查看是否有缺失数据

4.填补缺失数据

.fillna(method=' '),其中参数method可取:

pad/ffill:用前一个非缺失值去填充该缺失值

backfill/bfill:用下一个非缺失值填充该缺失值

None:指定一个值去替换缺失值(缺省默认这种方式)

5.填补空缺的数据如果遵循某种规律的话,可以采用深度学习的算法进行聚类、回归等方法找到规律,根据规律填缺失值。

 

6.特征数值化

如果是离散的值,可以通过特征与数值直接转换,比如df.replace("N": 0, 'Y': 1)将N转化为0,将Y转化为1;

 

可以用方法进行转化: from sklearn.preprocessing

                                     import LabelEncoder

                                     le = LabelEncoder()

                                    le.fit_transform(df['hypertension']);也可以fit()+trensform() 两种结果一样---------(fit对每种进行标记-标签名指原来的值.get_feature_names() ,transform根据标记对每一个进行转换);

7.特征二值化

pm25['bdays'] = np.where(pm25["Exposed days"] > pm25["Exposed days"].mean(), 1, 0)------------满足不等式bdays的值为1,不满足为0;

from sklearn.preprocessing

import Binarizer

bn = Binarizer(threshold=pm25["Exposed days"].mean())分为大于均值的和小于均值的两种

result = bn.fit_transform(pm25[["Exposed days"]])对两种进行归一化

等价于binarize(pm25[['Exposed days']], threshold=pm25['Exposed days'].mean());

8One-hot编码

pd.get_dummies(data):有多少种不同的值就会有多少个标签

对color这列进行编码,并去掉第一种状态,并合并到原数据中:df_dum = pd.get_dummies(persons['color'], drop_first=True) ,persons.merge(df_dum, left_index=True, right_index=True);

size_mapping = 'XL': 3, 'L': 2, 'M': 1, df['size'] = df['size'].map(size_mapping);

from sklearn.preprocessing ;import OneHotEncoder ohe = OneHotEncoder() ;cl = ohe.fit_transform(df[['classlabel']]);

9.特征离散化

 

pd.cut(ages['years'],3)分成三部分,也就是三种离散特征;

pd.cut(ages['years'], 3, labels=[0, 1, 2])同时为每种特征添加标签;

pd.cut(ages2['years'], bins=[9, 30, 50, 300], labels=['Young', 'Middle', 'Senior'])分成指定的三部分范围中并添加标签;

from sklearn.preprocessing import KBinsDiscretizer
kbd = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')   # ④
trans = kbd.fit_transform(ages[['years']]) 对数据分成三类并对离散值转换

rnd = np.random.RandomState(42), X = rnd.uniform(-3, 3, size=100)随机生成-3——3之间的100个数

10.数据规范化

StandardScaler().fit_transform(iris.data)可以对数据进行标准化,把数据转化成正态分布;

np.mean(iris_std, axis=0)求每一列的均值;

MinMaxScaler().fit_transform(iris.data),数据中心化后,再按极差(最大值 - 最小值)缩放,数据移动了最小值个单位,并且会被收敛到[0,1]之间,归一化也就是;

from sklearn.preprocessing import RobustScaler, MinMaxScaler
robust = RobustScaler()
robust_scaled = robust.fit_transform(X)

对数据的中心和范围使用更有鲁棒性的估计;

归一化

from sklearn.preprocessing import Normalizer 
norma = Normalizer()    # ③
norma.fit_transform([[3, 4]])

 

norma_max = Normalizer(norm='max'),

norma1 = Normalizer(norm='l1'),其中若为l1时,每个样本(每行)的值除以每个样本(每行)各值的绝对值之和
若为l2时,变换后每个样本(每行)的各维特征的平方和为1
若为max时,样本各个特征值除以样本中特征值最大的值

 

11.特征提取

线性回归中coef_和intercept_都是模型参数,即为w,coef_为w1到w4,intercept_为w0;

  • 循序向前特征选择:Sequential Forward Selection,SFS;
  • 循序向后特征选择:Sequential Backword Selection,SBS;
  • 穷举特征,并将特征名打印出来;
import numpy as np
from mlxtend.feature_selection import ExhaustiveFeatureSelector as EFS
efs = EFS(RandomForestRegressor(),min_features=1,max_features=5,scoring='r2',n_jobs=-1)    # ⑥
efs.fit(np.array(mini_data),y_train)
mini_data.columns[list(efs.best_idx_)]
from mlxtend.feature_selection import ExhaustiveFeatureSelector  
from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier  
from sklearn.metrics import roc_auc_score

feature_selector = ExhaustiveFeatureSelector(RandomForestClassifier(n_jobs=-1),    # ○11
           min_features=2,
           max_features=4,
           scoring='roc_auc',
           print_progress=True,
           cv=2)
features = feature_selector.fit(np.array(train_features.fillna(0)), train_labels)  
filtered_features= train_features.columns[list(features.best_idx_)]  

递归特征消除:递归特征消除的主要思想是反复构建模型,然后选出最好的(或者最差的)特征(根据系数来选),把选出来的特征放到一边,然后在剩余的特征上重复这个过程,直到遍历了所有的特征;

根据某中检验方法,比如chi2 啦,选择k个最高分数的特征,属于单变量特征选择的一种,可以看做是一个估计器的预处理步骤;

from sklearn.feature_selection import RFE
rfe = RFE(RandomForestRegressor(), n_features_to_select=5)     # ○12
rfe.fit(np.array(mini_data),y_train)
rfe.ranking_

VarianceThreshold(threshold=(0.8 * (1 - 0.8))),过滤器法的一种,去掉那些方差没有达到阈值的特征。默认情况下,删除零方差的特征;

from xgboost import XGBClassifier ,model = XGBClassifier() , model.fit(X,y) ,model.feature_importances_,得到特征重要性

 

12.特征抽取

主成分分析:from sklearn.decomposition import PCA ,import numpy as np ,pca = PCA()-----eg:pca = PCA(.95) , lower_dimensional_data = pca.fit_transform(mnist_data);

LDA:from sklearn.discriminant_analysis ,import LinearDiscriminantAnalysis as LDA, from sklearn.linear_model import LogisticRegression, lda = LDA(n_components=2) ,

X_train_lda = lda.fit_transform(X_train_std, y_train);

逻辑回归:lr = LogisticRegression() lr = lr.fit(X_train_lda, y_train);

深度学习人脸特征点自动定位综述

...脸识别和分析等系统中起着至关重要的作用。本文对基于深度学习的人脸特征点自动定位进行综述,阐释了人脸特征点自动定位的含义,归纳了目前常用的人脸公开数据集,系统阐述了针对2维和3维数据特征点的自动... 查看详情

软件工程师成长为架构师必备的十项技能

  深度学习Keras之父、谷歌大脑人工智能和深度学习研究员Fran?oisChollet撰写了一本深度学Python教程实战书籍《Python深度学习》,书中介绍了深度学习使用Python语言和强大Keras库,详实新颖。    近日,Fran?oisChollet接受了采... 查看详情

深度学习与中文短文本分析总结与梳理(代码片段)

...:https://www.cnblogs.com/wangyaning/p/7853879.html1.绪论过去几年,深度神经网络在模式识别中占绝对主流。它们在许多计算机视觉任务中完爆之前的顶尖算法。在语音识别上也有这个趋势了。而中文文本处理,以及中文自然语言处理上,... 查看详情

ai-一些概念

...盖范围上来讲,人工智能(AI)大于机器学习(ML)大于深度学习(DL)人工智能(AI):能够感知、推理、行动和适应的程序;机器学习(ML):能够随着数据量的增加不断改进性能的算法;深度学习(DL):是机器学习的一个子... 查看详情

决胜ai人工智能与深度学习实战课程

【决胜AI】人工智能与深度学习实战课程(深度学习机器学习人工智能python数据分析数据挖掘TensorflowCaffe)网盘下载:https://pan.baidu.com/s/1i5h8Rop密码:zv3w课程背景基于人工智能与深度学习领域,使用python作为课程的实战语言,随着大... 查看详情

三维点云深度学习与语义理解方法及关键技术

作者:若晨Date:2020-05-14来源:三维点云深度学习与语义理解方法及关键技术这一次给大家带来在自动驾驶中关于三维点云的深度学习方法应用、三维场景语义理解的方法以及对应的关键技术介绍。1.三维点云深度学习在深度学... 查看详情

《深度学习入门基于python的理论与实现》pdf下载在线阅读,求百度网盘云资源

《深度学习入门》([日]斋藤康毅)电子书网盘下载免费在线阅读资源链接:链接:https://pan.baidu.com/s/1ddnvGv-r9PxjwMLpN0ZQIQ?pwd=bhct提取码:bhct   书名:深度学习入门作者:[日]斋藤康毅译者:陆宇杰豆瓣评分:9.4出版社... 查看详情

keras深度学习实战(39)——音乐音频分类

Keras深度学习实战(39)——音乐音频分类0.前言1.数据集与模型分析1.1数据集分析1.2模型分析2.歌曲流派分类模型2.1数据加载与预处理2.2模型构建与训练3.聚类分析小结系列链接0.前言音乐音频分类技术能够基于音乐内容为音乐添... 查看详情

目标识别算法设计指引

...于图像处理的机器学习算法(传统算法),另一类是基于深度学习的识别算法;传统算法的检测精度和识别实时性差于深度学习算法,但深度学习算法依赖于GPU硬件,需要一定时间的学习训练过程,使用成本大于传统算法。以下... 查看详情

深度学习中拟合是什么意思?

...说就是将一组平面图像上的点用平滑的曲线连接起来。在深度学习中平面图像上的点就是数据特征(验证集样本特征值),然后用线将已经学到的数据特征连接起来,这样才称为拟合。拟合也分三种:正确拟... 查看详情

13.深度学习(词嵌入)与自然语言处理--hanlp实现(代码片段)

...记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP13.深度学习与自然语言处理13.1传统方法的局限前面已经讲过了隐马尔可夫模型、感知机、条件随机场、朴素贝叶斯模型、支持向量机等传统机器学习模型,同时,为了将这些... 查看详情

基于机器学习与深度学习的金融风控贷款违约预测

基于机器学习与深度学习的金融风控贷款违约预测目录一、赛题分析1.任务分析2.数据属性3.评价指标4.问题归类5.整体思路二、数据可视化分析1.总体数据分析2.数值型数据分析3.非数值型数据分析4.多变量分布与相关性分析三、数... 查看详情

有哪些python经典书籍

《深度学习入门》([日]斋藤康毅)电子书网盘下载免费在线阅读资源链接:链接:https://pan.baidu.com/s/1ddnvGv-r9PxjwMLpN0ZQIQ?pwd=bhct提取码:bhct   书名:深度学习入门作者:[日]斋藤康毅译者:陆宇杰豆瓣评分:9.4出版社... 查看详情

深度学习(001)-深度学习简介

...基础二,与机器学习区别:1.机器学习人工进行特征抽取深度学习自动进行特征抽取2.机器学习,数据少,相对效果不好深度学习,数据多,相对效果更好三,人工神经网络:1.(ArtificialNeuralNetwork,ANN)模仿生物神经网络(中枢大脑)... 查看详情

多模态深度学习方法综述

多模态方法种类多模态深度学习是指将来自不同感知模态的信息(如图像、文本、语音等)融合到一个深度学习模型中,以实现更丰富的信息表达和更准确的预测。在多模态深度学习中,模型之间的融合通常有以下三种方法:模... 查看详情

机器学习和深度学习的关系啦!(?´?`?)

...问题(常常需要人工提取特征),为了进一步发展提出了深度学习。    深度学习可以自动学习特征和任务之间的关联,还能从简单特征中提取复杂特征。最初的深度学习是利用深度神经网络(DNN)(超过三层的神... 查看详情

深度学习是啥?求大神科普一下感谢🙏

...的资料,网络上有很多相当资料,自己也可以搜索参考:深度学习(DL,DeepLearning)是机器学习(ML,MachineLearning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,ArtificialIntelligence)。 深度学习... 查看详情

深度学习必备知识——模型数据集yolo与voc格式文件相互转化(代码片段)

在深度学习中,第一步要做的往往就是处理数据集,尤其是学习百度飞桨PaddlePaddle的小伙伴,数据集经常要用Voc格式的,比如性能突出的ppyolo等模型。所以学会数据集转化的本领是十分必要的。这篇博客就带你一起进... 查看详情