• MachineLearning入门-3(hello word)


    机器学习中的HelloWorld项目


    这个项目是针对鸢尾花(Iris Flowers)进行分类的一个项目,数据集是含鸢尾花的三个亚属得分类信息,通过机器学习算法生成一个模型,自动分类新数据到这三个亚属的某一个中。项目中使用的鸢尾花数据集是一个非常容易理解的数据集,这个数据集具有以下特点:

    • 所有的特征数据都是数字,不需要考虑如何导入和处理数据
    • 这是一个分类问题,可以很方便的通过有监督学习算法来解决问题
    • 这是一个多分类问题,也许需要一些特殊的处理
    • 所有的特征数值采用相同的单位,不需要进行尺度的转换

    接下来将按照以下步骤实现这个项目:

    1)导入数据

    2)概述数据

    3)数据可视化

    4)评估算法

    5)实施预测


    导入类库

     1 from pandas import read_csv
     2 from pandas.plotting import scatter_matrix
     3 from matplotlib import pyplot
     4 
     5 from sklearn.model_selection import train_test_split
     6 from sklearn.model_selection import KFold
     7 from sklearn.model_selection import cross_val_score
     8 
     9 from sklearn.metrics import classification_report
    10 from sklearn.metrics import confusion_matrix
    11 from sklearn.metrics import accuracy_score
    12 
    13 from sklearn.linear_model import LogisticRegression
    14 from sklearn.tree import DecisionTreeClassifier
    15 from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
    16 from sklearn.neighbors import KNeighborsClassifier
    17 from sklearn.naive_bayes import GaussianNB
    18 from sklearn.svm import SVC

    所有的类库导入都不应有错误提示。如果出现了错误提示,那么暂时停下来,先设置一个能够运行的Scipy环境。


    导入数据集

    可以在UCI机器学习仓库下载鸢尾花(Iris Flower)数据集(https://archive.ics.uci.edu/ml/datasets/iris),下载完成后保存在项目的统计目录中。

    在这里将使用Pandas来导入数据和对数据进行描述性统计分析,并利用Matplotlib实现数据可视化。

    需要注意的是,在导入数据时,为每个数据特征设定了名称,这有助于后面对数据的展开工作,尤其是通过图表展示数据。

    代码如下:

    1 #导入数据集
    2 filename='/home/aistudio/data/iris.data.csv'
    3 names=['separ-length','separ-width','petal-length','petal-width','class']
    4 dataset=read_csv(filename,names=names)

    概述数据

    先看下数据,增加对数据的理解,以便选择合适的算法。

    可考虑从以下几个角度来审查数据:

    1)数据的维度

    2)查看数据自身

    3)统计描述所有的数据特征

    4)数据分类的分布情况

    1 #显示数据维度
    2 
    3 print('数据维度:行%s,列%s' % dataset.shape)

    执行结果如下:

    数据维度:行150,列5




  • 相关阅读:
    vue双向数据绑定原理解析及js代码实现
    react 实现tab切换
    vue不是内部或外部命令,解决办法
    JavaScript 基础知识 表达式和运算符
    JavaScript 基础知识 变量与数据类型
    Animation动画-小动画
    Ajax的封装
    esp32 python上位机(命令行)
    ESP32扫描环境中的所有WiFi并且通过串口选择需要连接的WiFi
    Linux修改开机图形/etc/motd
  • 原文地址:https://www.cnblogs.com/yuzaihuan/p/12247939.html
Copyright © 2020-2023  润新知