【机器学习】机器学习学习笔记 - 监督学习 - 逻辑回归分类朴素贝叶斯分类支持向量机 SVM (可分类、可回归) - 04

逻辑回归分类

python 复制代码
import numpy as np
from sklearn import linear_model

X = np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2], [1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]])
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])

# 逻辑回归分类器
# solver:求解器,有'newton-cg'、'lbfgs'、'liblinear'、'sag'、'saga'五种选择,默认是'liblinear'
# C:正则化系数,越小正则化强度越高,越大越不容易过拟合,默认是1.0
classifier = linear_model.LogisticRegression(solver='liblinear', C=100)

classifier.fit(X, y)

朴素贝叶斯分类

  • 朴素贝叶斯分类器是用贝叶斯定理进行建模的监督学习分类器
  • 贝叶斯定理: P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(A|B)=P(B|A)*P(A)/P(B)
  • P(类别|特征)=P(特征|类别)*P(类别)/P(特征)
python 复制代码
import numpy as np
from sklearn.naive_bayes import GaussianNB

X = np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2], [1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]])
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=5)

# 训练分类器
classifier_gaussiannb = GaussianNB()
classifier_gaussiannb.fit(X_train, y_train)
y_test_pred = classifier_gaussiannb.predict(X_test)

pdf在线免费转word文档 https://orcc.online/pdf

支持向量机 SVM (可分类、可回归)

  • 核函数与 SVM http://www.eric-kim.net/eric-kim-net/posts/1/kernel_trick.html
  • SVM 使用核函数, 把 N 维空间映射到 M 维空间(M>N), 在更高的纬度上可能可以线性可分,再映射回原来的空间维度
  • 核函数的作用是将低维空间的点映射到高维空间, 然后在高维空间上进行分类
  • 核函数不需要计算所有高维空间的点,使计算成为可能
python 复制代码
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=5)

# kernel:linear:线性核函数; rbf:径向基函数 高斯核函数; poly:多项式核函数; sigmoid: sigmoid核函数; 默认是线性核函数
params = {'kernel': 'linear','class_weight': 'balanced'}

classifier = SVC(**params)
classifier.fit(X_train, y_train)

target_names = ['Class-' + str(int(i)) for i in set(y)]
print("#"*30)
print("Classifier performance on training dataset")
print(classification_report(y_train, classifier.predict(X_train),target_names=target_names))
print("#"*30)

IT免费在线工具网 https://orcc.online

相关推荐
DXM052129 分钟前
第13期|遥感语义分割模型:U-Net核心原理+遥感落地优势
人工智能·python·深度学习·目标检测·随机森林·机器学习·支持向量机
Godspeed Zhao42 分钟前
Level 4自动驾驶系统设计1——功能与场景1
人工智能·机器学习·自动驾驶
深色風信子42 分钟前
SpringBoot 集成 AgentScope Java
agent·ai编程·ai agent·agentscope
郭东东1 小时前
用数据工程与策略,推动模型持续进化|字节跳动招聘全栈研发工程师 - AI 数据与安全
llm·ai编程·招聘
dog2501 小时前
信号权重和流分类的对数规律
人工智能·分类·数据挖掘
道一云黑板报1 小时前
告别提示词工程:为什么“循环工程”才是 AI 编程的未来?
人工智能·驱动开发·软件工程·ai编程
沉默王二1 小时前
面试官坏笑:“你用 AI 编程一年了,怎么保证 Claude Code 写出来的代码是对的?”我:“直接上 Claude Fable 5 啊!”
agent·ai编程·claude
雨辰AI1 小时前
从零搭建大模型本地运行环境|Python+CUDA 基础配置避坑大全
大数据·开发语言·人工智能·python·ai·ai编程·ai写作
程序员爱德华2 小时前
计算机视觉-自动驾驶
机器学习·计算机视觉·自动驾驶
TMT星球2 小时前
魔法原子上交会首秀VLA K02大模型,完成具身智能从“执行”到“理解”的能力跃迁
人工智能·算法·机器学习