MachineLearning入门-3

机器学习中的HelloWorld项目


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

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

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

1)导入数据

2)概述数据

3)数据可视化

4)评估算法

5)实施预测


导入类库

from pandas import read_csv
from pandas.plotting import scatter_matrix
from matplotlib import pyplot

from sklearn.model_selection import train_test_split
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score

from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC

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


导入数据集

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

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

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

代码如下:

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

概述数据

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

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

1)数据的维度

2)查看数据自身

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

4)数据分类的分布情况

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

执行结果如下:

数据维度:行150,列5

相关推荐