import pandas as pddata=pdread_excel处理后的数据xlsximport numpy as npfrom sklearntree import DecisionTreeClassifierX = data特征1 特征2 特征3 特征4 特征5 特征6 特征7 特征8特征9y = data类别import numpy as npclass rfc 随机森
import numpy as np import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap
%matplotlib notebook
plt.rcParams['font.sans-serif'] = ['PingFang HK'] # 选择一个本地的支持中文的字体 fig, ax = plt.subplots() ax.set_facecolor('#f8f9fa')
获取数据范围
x_min, x_max = X.iloc[:, 0].min() - .5, X.iloc[:, 0].max() + .5 y_min, y_max = X.iloc[:, 1].min() - .5, X.iloc[:, 1].max() + .5
生成网格点坐标
xx, yy = np.meshgrid(np.arange(x_min, x_max, .05), np.arange(y_min, y_max, .05))
对网格点进行预测
Z = rf.predict(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape)
设置颜色映射
colors = ['#ffadad', '#8ecae6'] cmap = ListedColormap(colors)
绘制等高线图
plt.contourf(xx, yy, Z, cmap=cmap, alpha=0.3)
绘制散点图
x1 = X[y==-1]['特征1'] y1 = X[y==-1]['特征2'] x2 = X[y==1]['特征1'] y2 = X[y==1]['特征2'] p1 = plt.scatter(x1, y1, c='#e63946', marker='o', s=20) p2 = plt.scatter(x2, y2, c='#457b9d', marker='x', s=20)
设置图例和标题
ax.set_title('随机森林分类', color='#264653') ax.set_xlabel('特征1', color='#264653') ax.set_ylabel('特征2', color='#264653') ax.tick_params(labelcolor='#264653') plt.legend([p1, p2], ["-1", "1"], loc="upper left")
plt.show(
原文地址: http://www.cveoy.top/t/topic/hnQk 著作权归作者所有。请勿转载和采集!