奇书网

奇书网>人工智能训练师 > 第三节 识别毒蘑菇(第4页)

第三节 识别毒蘑菇(第4页)

#获得8123个标记

因为用来表示类别的“e”和“p”是英文字母,所以需要转化成1和0以便计算机使用,其中1表示可食用,0表示有毒。使用以下代码完成转化,这是一个循环程序。

In[13]:fe(0,8123):

iflabel[i]=='e':

label[i]=1

else:

label[i]=0

接下来就可以设置Y数据了。

In[14]:Y=label

In[15]:Y=Y。astype(Y)

接下来处理训练样本。

In[16]:data=data。drop(['样本编号','标记'],axis=1)

#训练样本需要将两列去掉(样本编号和标记)

In[17]:data。shape

Out[17]:(8124,22)

#训练样本的行列数量

Ia=np。array(data)

Ia=a[0:-1,:]

#去掉最后一行

Ia。shape

Out[20]:(8123,22)

#新的数据

特征属性的值同样是用字符表示的,而Python的决策树需要对数值进行处理。所以接下来使用下面的编码将字符直接转化成ASCII编码的整数。表3-6中的最后一列是通常的字符,前两列分别是这个字符的十进制编码和十六进制编码。

表3-6

使用下面的代码将字符转化成它对应的整数。如g转化为103,O转化为79等。这是一个循环程序,其中的ord()函数负责转化功能。

In[21]:fe(0,8123):

fe(0,22):

&a[i,j]=ord(a[i,j])

新的训练数据为

Ia

接下来就可以构造决策树并用于分类了,输出的是描述所生成的决策树的参数。

In[23]:clf=tree。DeTreeClassifier()

In[24]:clf。fit(X,Y)

Out[24]:

&reeClassifier(class_weight=erion='gini',

max_depth=None,

max_features=None,max_leaf_nodes=None,

min_impurity_split=1e-07,min_samples_leaf=1,

mi=2,mi_fra_leaf=0。0,

&=False,random_state=er='best')

热门小说推荐

最新标签