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

news/2024/9/24 22:35:34/

逻辑回归分类

import numpy as np
from sklearn import linear_modelX = 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(特征)
import numpy as np
from sklearn.naive_bayes import GaussianNBX = 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), 在更高的纬度上可能可以线性可分,再映射回原来的空间维度
  • 核函数的作用是将低维空间的点映射到高维空间, 然后在高维空间上进行分类
  • 核函数不需要计算所有高维空间的点,使计算成为可能
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_reportX_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


http://www.ppmy.cn/news/1438226.html

相关文章

深入浅出 SQL 优化:全面提升查询性能的技巧

文章目录 前言一、表结构分析1. 索引分析2. 数据类型分析3. 思考反范式设计的适用场景与潜在风险3.1数据冗余3.2 数据一致性3.3 更新性能 4. 关注临时表的创建与使用。4.1.尽量减少临时表的使用,以降低系统资源的消耗。4.2 使用合适的索引和数据类型优化临时表的性能…

PPSSPPSDL for Mac v1.17.1 PSP游戏模拟器(附500款游戏) 激活版

PPSSPPSDL for Mac是一款模拟器软件,它允许用户在Mac上运行PSP(PlayStation Portable)游戏。通过这款模拟器,用户可以体验到高清甚至更高的分辨率的游戏画面,同时还能够升级纹理以提升清晰度,并启用后处理着…

vue3 子组件实现v-model用法

在Vue 3中,实现自定义的input组件并支持v-model绑定,涉及到对modelValue这个默认prop的处理和对应的update:modelValue事件的触发。Vue 3使得这个过程比Vue 2更为简化和灵活,尤其是在可以自定义绑定的属性和事件名方面。 步骤 1: 创建自定义…

一个简单的java递归下降语法分析器例子

import parser.Parser; import parser.RecursiveDescentParser;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class Main {public static void main(String[] args) {// 关键词List<String> keyList new ArrayList<>(Arra…

electron中preload.js文件的用法

在Electron中&#xff0c;preload.js文件扮演着非常重要的角色&#xff0c;它允许你在渲染进程中的全局作用域里安全地、有选择地集成Node.js和Electron的API。这是一种在保持渲染进程与主进程隔离的同时&#xff0c;又能使渲染进程具有访问特定Electron API的能力的方法。这种…

leetcode2739--总行驶距离

1. 题意 典型的空瓶换酒问题。 2. 题解 2.1 直接模拟 class Solution { public:int distanceTraveled(int mainTank, int additionalTank) {int ans 0;while (mainTank > 5) {ans mainTank/5*5;int extra min(mainTank/5, additionalTank);mainTank % 5;mainTank e…

前端框架技术革新历程:从原生DOM操作、数据双向绑定到虚拟DOM等框架原理深度解析,Web开发与用户体验的共赢

前端的发展与前端框架的发展相辅相成&#xff0c;形成了相互驱动、共同演进的关系。前端技术的进步不仅催生了前端框架的产生&#xff0c;也为其发展提供了源源不断的动力。 前端的发展 前端&#xff0c;即Web前端&#xff0c;是指在创建Web应用程序或网站过程中负责用户界面…

无人机类型有哪些?

无人机可以按照多种方式进行分类&#xff0c;每种分类都有其特定的无人机类型。以下是一些常见的分类方式及其对应的无人机类型&#xff1a; 1. 按飞行平台构型分类&#xff1a; * 固定翼无人机 * 旋翼无人机 * 无人飞艇 * 伞翼无人机 * 扑翼无人机 2. 按用途分类&#xff1a…