文章目录
前言
前言:这篇文章是于大学入学时所写,部分方法存在过拟合现象(数据量太少)。仅供学习使用提示:以下是本篇文章正文内容,下面案例可供参考
机器学习入门之分类
"""
全局数据集
"""
from sklearn.datasets import make_blobs,make_moons
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
X,Y = make_moons(n_samples=100,noise = 0.1,random_state=0)
plt.scatter(X[:,0],X[:,1],c=Y)
plt.show()
一、决策树(DecisionTree)
1、决策树拟合
#Decisiontree
#决策树
from sklearn import tree
model = tree.DecisionTreeClassifier()
model.fit(x_train,y_train)
print('test score',model.score(x_test,y_test))
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
#生成矩阵坐标x,y 返回np.arange类型的列表
xx, yy = np.meshgrid(np.arange(x_min, x_max, .02),np.arange(y_min, y_max, .02))
'''
np.c_:是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等
shape是查看数据有多少行多少列
reshape更改数组维数
'''
z = model.predict(np.c_[xx.ravel(), yy.ravel()])
z = z.reshape(xx.shape)
plt.pcolormesh(xx, yy, z.reshape(xx.shape), shading='auto', cmap= 'Paired')
plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.spring, edgecolors='k')
plt.show()
在这里插入图片描述
2、决策树 准确率 平均准确率 召回率 F1 AUC
from sklearn import tree
from sklearn.metrics import accuracy_score #准确率
from sklearn.metrics import precision_score #精确率
from sklearn.metrics import recall_score #召回率
from sklearn.metrics import f1_score #f1_score
from sklearn.metrics import roc_auc_score #AUC
model=tree.DecisionTreeClassifier(random_state=0)
model.fit(x_train,y_train)
y_true