iris

使用sklearn做特征工程

你离开我真会死。 提交于 2020-01-15 16:55:43
1 特征工程是什么?   有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:   特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。首次接触到sklearn,通常会被其丰富且方便的算法模型库吸引,但是这里介绍的特征处理库也十分强大!   本文中使用sklearn中的 IRIS(鸢尾花)数据集 来对特征处理功能进行说明。IRIS数据集由Fisher在1936年整理,包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),Iris Virginica(维吉尼亚鸢尾))。导入IRIS数据集的代码如下: 1 from sklearn.datasets import load_iris 2 3 #导入IRIS数据集 4 iris = load_iris() 5 6 #特征矩阵 7 iris.data

机器学习中的特征工程

自作多情 提交于 2020-01-15 14:59:59
作者:城东 链接: 特征工程到底是什么? - 城东的回答 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 目录 1 特征工程是什么? 2 数据预处理   2.1 无量纲化     2.1.1 标准化     2.1.2 区间缩放法     2.1.3 标准化与归一化的区别   2.2 对定量特征二值化   2.3 对定性特征哑编码   2.4 缺失值计算   2.5 数据变换 3 特征选择   3.1 Filter     3.1.1 方差选择法     3.1.2 相关系数法     3.1.3 卡方检验     3.1.4 互信息法   3.2 Wrapper     3.2.1 递归特征消除法   3.3 Embedded     3.3.1 基于惩罚项的特征选择法     3.3.2 基于树模型的特征选择法 4 降维   4.1 主成分分析法(PCA)   4.2 线性判别分析法(LDA) 5 总结 6 参考资料 1 特征工程是什么?   有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:   特征处理是特征工程的核心部分

Matlab数据导入和导出

荒凉一梦 提交于 2020-01-14 09:08:07
Matlab导入数据处理 基于readtable函数 优点 缺点 低级文件I/O 间隔符不规范,无法使用readtable函数时 基于readtable函数 优点 可以使用 table 数据类型来将混合类型的数据和元数据属性(例如变量名称、行名称、说明和变量单位)收集到单个容器中。表适用于列向数据或表格数据,这些数据通常以列形式存储于文本文件或电子表格中。例如,您可以使用表存储试验数据,使用行表示不同的观测对象,使用列表示不同的测量变量。 实现方便,适用于规范间隔符文本,下面是readtable的常用形式,以导入取自 UCI 的 Iris数据集 为例: (将数据文件后缀改为.txt即可) %% Iris Iris_data = readtable('C:\Users\Alienware\Desktop\DataMining\lris\iris.data.txt'); Iris_data.Properties.VariableNames = {'sepal.length',... 'sepal.width',... 'petal.length',... 'petal.width',... 'class'}; %Delimiter为文件中数据间隔符,在Iris中为',',可不设置此时Matlab会自动识别间隔符 %.Paropertities.VariableNames为每列数据命名

使用python绘制混淆矩阵

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-14 04:48:28
使用python绘制混淆矩阵 # 可视化分类器性能 # load libraries import matplotlib . pyplot as plt import seaborn as sns from sklearn import datasets from sklearn . linear_model import LogisticRegression from sklearn . model_selection import train_test_split from sklearn . metrics import confusion_matrix import pandas as pd # load data 加载数据 iris = datasets . load_iris ( ) # create feature matrix features = iris . data # create target vector target = iris . target # create list of target class names class_names = iris . target_names # split into training and test sets # 创建 训练集 测试集 features_train , features_test ,

关于生信常用的PCA算法

送分小仙女□ 提交于 2020-01-13 01:28:56
PCA是一种常用的数据降维算法,主要就是根据特征值提出特征值较大的几个特征向量,并将高维向量投影到特征向量上以达到数据降维的目的。 第一步当然是处理数据,将样本数据按列放入numpy的数据框(比如100个样本,每个样本4个数据,就是4行100列,反过来也可以,不过要注意调换内积的顺序)。 数据需要先做归一化,以减去所有样本的均值来实现。 from sklearn.datasets import load_iris iris = load_iris() data = iris['data'] data = data-np.mean(data, axis=0) 然后要计算出协方差矩阵,并计算出特征值及特征向量 def get_eigen(data): data_cov = np.cov(data, rowvar=0) eigen_val, eigen_vec = np.linalg.eig(data_cov) return eigen_val, eigen_vec 然后对特征值排序,提出特征向量 def sort_eigen(eigen_val, eigen_vec, cut_num): index = np.argsort(-eigen_val) sort_vec = eigen_vec[:, index[:cut_num]] return sort_vec

特征工程

ⅰ亾dé卋堺 提交于 2020-01-12 06:44:10
本文中使用sklearn中的IRIS(鸢尾花)数据集来对特征处理功能进行说明。IRIS数据集由Fisher在1936年整理,包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),Iris Virginica(维吉尼亚鸢尾))。导入IRIS数据集的代码如下: from sklearn.datasets import load_iris # 导入IRIS数据集 iris = load_iris() # 特征矩阵 iris.data # 目标向量 iris.target 1、特征选择 当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征: 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用; 特征与目标的相关性:这点比较显见,与目标相关性高的特征应当优先选择。 根据特征选择的形式又可以将特征选择方法分为3种: Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者选择阈值的个数,选择特征;

Sklearn实现knn

坚强是说给别人听的谎言 提交于 2020-01-11 04:21:24
#----------------------------------Sklearn实现Knn------------------------------ # KNeighborsClassifier(n_neighbors=5, weights=’uniform’, # algorithm=’auto’, leaf_size=30, p=2, metric=’minkowski’, # metric_params=None, n_jobs=None, **kwargs)[source] #--------------------------------------实例一----------------------------------------------- from sklearn import datasets from sklearn.neighbors import KNeighborsClassifier from sklearn.cross_validation import train_test_split import numpy as np np.random.seed(0)#设置随机种子,设置后每次产生的随机数都一样 #加载数据集 iris=datasets.load_iris() #样本是150*4二维数据,代表150个样本,每个样本有4个特征 X

特征工程

百般思念 提交于 2019-12-24 17:51:42
转至博文:http://www.cnblogs.com/jasonfreak/p/5448385.html 知乎问答:https://www.zhihu.com/question/29316149 归一化,正则化:http://blog.csdn.net/u012102306/article/details/51940147 卡方检验:http://blog.csdn.net/sunshine_in_moon/article/details/45155803 目录 1 特征工程是什么? 2 数据预处理   2.1 无量纲化     2.1.1 标准化     2.1.2 区间缩放法     2.1.3 标准化与归一化的区别   2.2 对定量特征二值化   2.3 对定性特征哑编码   2.4 缺失值计算   2.5 数据变换 3 特征选择   3.1 Filter     3.1.1 方差选择法     3.1.2 相关系数法     3.1.3 卡方检验     3.1.4 互信息法   3.2 Wrapper     3.2.1 递归特征消除法   3.3 Embedded     3.3.1 基于惩罚项的特征选择法     3.3.2 基于树模型的特征选择法 4 降维   4.1 主成分分析法(PCA)   4.2 线性判别分析法(LDA) 5 总结 6 参考资料 1

用tensorflow实现SVM

旧巷老猫 提交于 2019-12-23 18:46:36
环境配置 win10 Python 3.6 tensorflow1.15 scipy matplotlib (运行时可能会遇到module tkinter的问题) sklearn 一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法。 代码实现 import matplotlib.pyplot as plt import numpy as np import tensorflow as tf from sklearn import datasets from tensorflow.python.framework import ops ops.reset_default_graph() sess = tf.Session() Session API Session的详细作用 Session是tensorflow中的一个执行OP和计算tensor的一个类。 framework API 补充: 张量(tensor):TensorFlow程序使用tensor数据结构来代表所有的数据,计算图中,操作间传递的数据都是tensor,你可以把TensorFlow tensor看做一个n维的数组或者列表。 变量(Var iable):常用于定义模型中的参数,是通过不断训练得到的值。比如权重和偏置。 占位符(placeholder):输入变量的载体

可视化随机森林的特征重要性

会有一股神秘感。 提交于 2019-12-23 04:13:37
可视化随机森林的特征重要性 # 查看随机森林的特征重要性 import numpy as np import matplotlib . pyplot as plt from sklearn . ensemble import RandomForestClassifier from sklearn import datasets ​ iris = datasets . load_iris ( ) features = iris . data target = iris . target # 创建分类器对象 randomforest = RandomForestClassifier ( random_state = 0 ) # 训练模型 model = randomforest . fit ( features , target ) # 计算特征重要性 importances = model . feature_importances_ print ( "model.feature_importances_: {}" . format ( importances ) ) ​ # print(importances) # 对特征重要性进行排序 indices = np . argsort ( importances ) [ : : - 1 ] print ( indices ) #