MachineLearning入门-3

Posted yuzaihuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MachineLearning入门-3相关的知识,希望对你有一定的参考价值。

机器学习中的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




以上是关于MachineLearning入门-3的主要内容,如果未能解决你的问题,请参考以下文章

『Python』MachineLearning机器学习入门_效率对比

『Python』MachineLearning机器学习入门_极小的机器学习应用

MachineLearning入门-1

MachineLearning入门-2

Caffe入门随笔

MachineLearning入门-7(数据理解)