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




原文地址:https://www.cnblogs.com/yuzaihuan/p/12247939.html