机器学习边界代码大全
机器学习决策边界可视化代码大全
以下是常用分类算法的决策边界可视化代码(使用Python + Matplotlib),包含线性/非线性模型的典型示例:
基础准备代码
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
# 通用绘图函数
def plot_decision_boundary(clf, X, y, title):
cmap_light = ListedColormap(['#FFAAAA', '#AAAAFF', '#AAFFAA'])
cmap_bold = ListedColormap(['#FF0000', '#0000FF', '#00FF00'])
# 生成网格点
h = 0.02 # 网格步长
x_min, x_max = X[:, 0].min()-1, X[:, 0].max()+1
y_min, y_max = X[:, 1].min()-1, X[:, 1].max()+1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
np.arange(y_min, y_max, h))
# 预测并绘制
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.figure(figsize=(10, 6))
plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold, edgecolor='k', s=20)
plt.title(title)
plt.show()
# 创建测试数据集
from sklearn import datasets
X, y = datasets.make_moons(n_samples=200, noise=0.2, random_state=42)
plt.scatter(X[:,0], X[:,1], c=y)
plt.title("原始数据集")
plt.show()
1. 逻辑回归(线性边界)
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(X, y)
plot_decision_boundary(lr, X, y, "逻辑回归决策边界")
2. SVM线性分类(线性边界)
from sklearn.svm import SVC
svm_linear = SVC(kernel='linear')
svm_linear.fit(X, y)
plot_decision_boundary(svm_linear, X, y, "SVM线性决策边界")
3. SVM高斯核(非线性边界)
svm_rbf = SVC(kernel='rbf', gamma=1.0, C=1.0)
svm_rbf.fit(X, y)
plot_decision_boundary(svm_rbf, X, y, "SVM高斯核决策边界")
4. 决策树(非线性阶梯边界)
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier(max_depth=5)
tree.fit(X, y)
plot_decision_boundary(tree, X, y, "决策树决策边界")
5. K近邻(KNN非线性边界)
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X, y)
plot_decision_boundary(knn, X, y, "KNN决策边界 (k=5)")
6. 随机森林(非线性边界)
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(n_estimators=100)
rf.fit(X, y)
plot_decision_boundary(rf, X, y, "随机森林决策边界")
7. 神经网络(非线性边界)
from sklearn.neural_network import MLPClassifier
nn = MLPClassifier(hidden_layer_sizes=(10,10), max_iter=10000)
nn.fit(X, y)
plot_decision_boundary(nn, X, y, "神经网络决策边界")
特殊边界案例代码
1. 线性不可分数据集(圆形边界)
# 创建环形数据集
X_circle, y_circle = datasets.make_circles(n_samples=200, noise=0.1, factor=0.5)
# 使用高斯核SVM
svm_circle = SVC(kernel='rbf', gamma=10)
svm_circle.fit(X_circle, y_circle)
plot_decision_boundary(svm_circle, X_circle, y_circle, "高斯SVM解决圆形边界")
2. 过拟合 vs 欠拟合对比
# 过拟合决策树
tree_overfit = DecisionTreeClassifier(max_depth=None)
tree_overfit.fit(X, y)
plot_decision_boundary(tree_overfit, X, y, "过拟合决策树")
# 欠拟合决策树
tree_underfit = DecisionTreeClassifier(max_depth=1)
tree_underfit.fit(X, y)
plot_decision_boundary(tree_underfit, X, y, "欠拟合决策树")
3. 正则化影响对比 (SVM)
# 强正则化
svm_highC = SVC(C=0.01, kernel='rbf')
svm_highC.fit(X, y)
plot_decision_boundary(svm_highC, X, y, "高正则化SVM边界")
# 弱正则化
svm_lowC = SVC(C=1000, kernel='rbf')
svm_lowC.fit(X, y)
plot_decision_boundary(svm_lowC, X, y, "低正则化SVM边界")
使用技巧
- 调整边界平滑度:修改SVM的gamma值或KNN的n_neighbors
- 处理非平衡数据:添加class_weight参数
- 高维可视化:通过PCA降维后再绘制边界
- 3D决策面:对于3维数据使用plot_surface
所有代码需要安装:
pip install numpy matplotlib scikit-learn
什么是机器学习? 机器学习基础入门
本文旨在为硬件和嵌入式工程师提供机器学习(ML)的背景,它是什么,它是如何工作的,它为什么重要,以及 TinyML 是如何适应的机器
基于机器学习的恶意代码检测分类
基于特征码匹配的静态分析方法提取的特征滞后于病毒发展,且不能检测出未知病毒。为此,从病毒反编译文件及其灰度图出发进行特征提取及融合,采用机器学习中的随机森林(RF)算法对恶意
资料下载
佚名
2021-06-10 11:03:15
结合动态行为和机器学习的恶意代码检测方法
目前恶意代码出现频繁且抗识别性加强,现有基于签名的恶意代码检测方法无法识别未知与隐藏的恶意代码。提出一种结合动态行为和
资料下载
佚名
2021-03-23 16:24:19
机器学习的基础内容介绍
学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy
机器学习的基础内容
学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy
推荐这十个用于机器学习的优秀软件,可用于运行ML代码
在本文中,我们将研究用于机器学习的优秀软件。这些软件非常适合运行您的ML代码。行业中有无数的软件和工具。我们将在
2020-10-08 14:17:00
Swift for TensorFlow:无边界机器学习,值得大家期待
据资料显示,Swift for TensorFlow:无边界机器学习简介主要是——Swift for TensorFlow 是为下一代
2019-09-20 14:20:50
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机