zoukankan      html  css  js  c++  java
  • MachineLearning入门-6(数据导入)

    定量研究最重要的是如何提出问题,而不是数据的统计方法;

    定量研究是一个全面的过程,不只是数据,也不只是统计,而是运用统计来研究数据,数据、统计方法、理念,三者缺一不可,其中,理念是最重要的。


     在训练机器学习的模型时,需要用到大量的数据,最常用的做法是利用历史的数据来训练模型。这些数据通常会以CSV的格式存储,或者能够方便的转化为CSV格式。在开始启动机器学习项目之前,必须先将数据导入到python中。

    下面介绍三种将CSV数据导入到python中的方法,以便完成对机器学习算法的训练。

    • 通过标准的python库导入
    • 通过numpy导入CSV文件
    • 通过Pandas导入CSV文件

    CSV文件

    CSV文件使用(,)分隔的文本文件。在数据导入之前,通常会审查一下CSV文件中包含的内容。在审查CSV文件时,通常要注意以下几个方面。

    文件头:如果CSV文件里包含文件头的信息,可以很方便的使用文件头信息来设置读入数据字段的属性名称。如果文件里不包含文件头信息,需要自己手动设定读入文件的字段属性名称。数据导入时,设置字段属性名称,有助于提高数据处理程序的可读性。

    文件中的注释:在CSV文件中,注释行是以#开头的。是否需要对读入的注释行做处理,取决于采用什么方式读入CSV文件。

    分隔符:CSV文件的标准分隔符是逗号(,),当然,也可以使用tab键或空格键作为自定义的分隔符。当使用这两种分隔符时,文件读取是要指明分隔符的。

    引号:当有的字段值中有空白时,这些值通常都会被引号引起来,默认使用双引号来标记这些字段值。如果采用自定义格式,那么在文件读取时要明确在文件中采用的自定义格式。

    Pima Indians数据集

    本章中选择的Pima Indians数据集就是从UCI中获取的。这是一个分类问题的数据集,主要记录了印第安人最近五年内是否患糖尿病的医疗数据。这些数据都是以数字的方式记录的,并且输出结果是0或1,使我们在机器学习的算法中建立模型变得非常方便。

    采用标准Python类库导入数据

    Python提供了一个标准类库CSV,用来处理CSV文件。这个类库中的reader()函数用来读入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个Numpy数组,用来训练算法模型。

    首先下载数据文件到应用目录,并命名文件为pima.csv。这个文件中所有的数据都是数字,并且数据中不含有文件头。

    1 from csv import reader
    2 import numpy as np
    3 #使用标准的python类库导入CSV数据
    4 filename='/home/aistudio/work/pima_data1.csv'
    5 with open(filename,'rt') as raw_data:
    6     readers=reader(raw_data,delimiter=',')
    7     x=list(readers)
    8     data=np.array(x).astype('float')
    9     print(data.shape)
    (768, 9)

    采用Numpy导入数据

    也可以使用Numpy的loadtxt()函数导入数据。使用这个函数处理的数据没有文件头,也就是说,数据类型是一样的。代码如下:
    1 from numpy import loadtxt
    2 #使用Numpy导入CSV数据
    3 filename='/home/aistudio/work/pima_data1.csv'
    4 with open(filename,'rt') as raw_data:
    5     data=loadtxt(raw_data,delimiter=',')
    6     print(data.shape)
    (768, 9)

    采用Pandas导入数据

    通过Pandas来导入CSV文件要使用pandas.read_csv()函数。这个函数返回值是DataFrame,可以很方便地进行下一步处理。函数名称非常直观,便于代码的阅读和后续的对数据的处理。在机器学习的项目中,经常利用pandas来做数据清洗与数据准备工作。因此,在导入CSV文件时,推荐使用Pandas。
    1 from pandas import read_csv
    2 #使用pandas导入CSV数据
    3 filename='/home/aistudio/work/pima_data1.csv'
    4 names=['preg','plas','pres','skin','test','mass','pedi','age','class']
    5 data=read_csv(filename,names=names)
    6 print(data.shape)
    (768, 9)
    这段代码为数据补充了文件头。
  • 相关阅读:
    Oracle等待事件Enqueue CI:Cross Instance Call Invocation
    Exadata. Are you ready?
    Beyond the Mobile Goldrush
    推荐一款性能诊断工具Membai
    Does LGWR use synchronous IO even AIO enabled?
    Raid Level,该如何为Oracle存储选择才好?
    Oracle备份恢复:Rman Backup缓慢问题一例
    Usage and Configuration of the Oracle shared Server
    UserManaged Backups
    Oracle Recovery Manager Overview and Configuration
  • 原文地址:https://www.cnblogs.com/yuzaihuan/p/12287431.html
Copyright © 2011-2022 走看看