【机器学习】在【PyCharm中的学习】:从【基础到进阶的全面指南】

 

目录

第一步:基础准备

1.1 Python基础

1.1.1 学习Python的基本语法

变量和数据类型:

1.1.2 控制流

条件语句:

循环语句:

1.1.3 函数和模块

函数:

模块:

1.2 安装PyCharm

1.2.1 下载并安装

第二步:数据科学基础

2.1 安装必备库

2.1.1 使用pip安装

安装NumPy:

2.2 数据操作

2.2.1 Pandas基础操作

读取数据:

数据清洗:

数据操作:

2.2.2 NumPy基础操作

数组创建:

数组运算:

第三步:机器学习基础​编辑

3.1 了解机器学习基本概念

3.1.1 监督学习

3.1.2 非监督学习

3.1.3 模型训练和评估

模型训练:

模型评估:

3.2 实践机器学习模型

3.2.1 数据预处理

数据标准化和归一化:

数据分割:

3.2.2 简单模型实现

线性回归:

逻辑回归:

决策树:

KNN(K-最近邻):

第四步:进阶学习

4.1 深入学习模型

4.1.1 复杂模型和算法

随机森林:

支持向量机:

聚类算法:

神经网络:

4.1.2 调参、交叉验证和模型优化

调参:

交叉验证:

模型优化:

4.2 项目实践

4.2.1 选择项目

4.2.2 数据收集和清洗

第五步:学习资源

5.1 在线课程和文档

5.1.1 在线课程

5.1.2 官方文档

5.2 书籍推荐

5.2.1 《Python机器学习》

5.2.2 《机器学习实战》

总结 

 

 

d4c27ecf9f2742c7b59933023b873c29.png61cfbbf2b266432f8ad08ee39c6dca08.gif

 

 

专栏:机器学习笔记

pycharm专业版免费激活教程见资源,私信我给你发

python相关库的安装:pandas,numpy,matplotlib,statsmodels

第一步:基础准备

1.1 Python基础

1.1.1 学习Python的基本语法

变量和数据类型

  • 学习如何声明变量,理解Python的弱类型特性。
  • 掌握基本数据类型:整数、浮点数、字符串、布尔值和None。

示例代码:

a = 10  # 整数
b = 3.14  # 浮点数
c = "Hello, Python!"  # 字符串
d = True  # 布尔值
e = None  # 空值

1.1.2 控制流

条件语句

掌握if、elif和else语句的使用。

示例代码:

age = 18
if age >= 18:
    print("You are an adult.")
elif age > 12:
    print("You are a teenager.")
else:
    print("You are a child.")

循环语句

  • 学习for循环和while循环,理解其应用场景。

示例代码:

# for循环
for i in range(5):
    print(i)

# while循环
count = 0
while count < 5:
    print(count)
    count += 1

1.1.3 函数和模块

函数

  • 学习如何定义和调用函数,理解参数和返回值的概念。

示例代码:

def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))

模块

  • 学习如何导入和使用模块,理解标准库的概念。

示例代码:

import math

print(math.sqrt(16))

1.2 安装PyCharm

1.2.1 下载并安装

  • 下载
    • 访问JetBrains官网,下载PyCharm社区版或专业版安装包。
    • 链接:PyCharm下载页面
  • 安装
    • 运行安装包,按照提示完成安装。
    • 安装过程中,可以选择安装路径和附加组件(如Git、Anaconda等)。
  • 创建新项目
    • 打开PyCharm,点击“New Project”。
    • 选择项目位置和Python解释器,点击“Create”创建项目。
  • 管理项目
    • 理解PyCharm的项目结构,包括项目视图、文件导航、工具窗口等。
    • 学习如何创建Python文件、包和虚拟环境。
  • 基本功能
    • 学习如何运行和调试Python代码,使用断点和调试工具。
    • 学习如何使用代码补全、代码检查和重构工具提高编码效率。
  • 快捷键
    • 熟悉常用快捷键,如:
      • 运行代码:Shift + F10
      • 调试代码:Shift + F9
      • 查找文件:Ctrl + Shift + N
      • 查找类:Ctrl + N
      • 重命名:Shift + F6

第二步:数据科学基础

8c0ecaf6a03b48399c9fece475992a28.png

2.1 安装必备库

2.1.1 使用pip安装

安装NumPy

  • 在PyCharm的终端窗口中,输入以下命令安装NumPy:
    pip install numpy
    
    • NumPy是一个支持大量高维数组与矩阵运算的库,提供了大量的数学函数库。

安装Pandas

  • 在PyCharm的终端窗口中,输入以下命令安装Pandas:
    pip install pandas
    
    • Pandas是一个数据分析和数据操作的库,提供了数据结构和数据分析工具。

安装Matplotlib

  • 在PyCharm的终端窗口中,输入以下命令安装Matplotlib:
    pip install matplotlib
    
    • Matplotlib是一个绘图库,可以生成各种静态、动态和交互式的图表。

安装Scikit-Learn

  • 在PyCharm的终端窗口中,输入以下命令安装Scikit-Learn:
    pip install scikit-learn
    
    • Scikit-Learn是一个机器学习库,提供了各种分类、回归和聚类算法的实现。

2.2 数据操作

2.2.1 Pandas基础操作

读取数据

  • 学习如何使用Pandas读取CSV、Excel和SQL等格式的数据。
  • 示例代码:
  • import pandas as pd
    
    # 读取CSV文件
    df = pd.read_csv('data.csv')
    print(df.head())
    
    # 读取Excel文件
    df = pd.read_excel('data.xlsx')
    print(df.head())
    
    # 读取SQL数据库
    import sqlite3
    conn = sqlite3.connect('database.db')
    df = pd.read_sql_query('SELECT * FROM table_name', conn)
    print(df.head())
    

    数据清洗

  • 学习如何处理缺失值、重复值和异常值。
  • 示例代码:
    # 处理缺失值
    df.dropna(inplace=True)  # 删除缺失值所在行
    df.fillna(0, inplace=True)  # 填充缺失值为0
    
    # 处理重复值
    df.drop_duplicates(inplace=True)
    
    # 处理异常值
    df = df[df['column_name'] > 0]  # 过滤异常值
    

    数据操作

  • 学习如何进行数据选择、过滤、排序和分组操作。
  • 示例代码:
    # 选择数据
    df_selected = df[['column1', 'column2']]
    
    # 过滤数据
    df_filtered = df[df['column1'] > 10]
    
    # 排序数据
    df_sorted = df.sort_values(by='column1')
    
    # 分组操作
    df_grouped = df.groupby('column1').mean()
    

    2.2.2 NumPy基础操作

数组创建

  • 学习如何使用NumPy创建数组和矩阵。
  • 示例代码:
    import numpy as np
    
    # 创建一维数组
    arr1 = np.array([1, 2, 3, 4, 5])
    
    # 创建二维数组
    arr2 = np.array([[1, 2, 3], [4, 5, 6]])
    
    # 创建全零数组
    zeros = np.zeros((3, 3))
    
    # 创建全一数组
    ones = np.ones((2, 2))
    
    # 创建等差数组
    arange = np.arange(0, 10, 2)
    
    # 创建等间隔数组
    linspace = np.linspace(0, 1, 5)
    

    数组运算

  • 学习如何进行数组运算,包括加减乘除、矩阵运算和广播机制。
  • 示例代码:
    # 数组加减乘除
    arr1 = np.array([1, 2, 3])
    arr2 = np.array([4, 5, 6])
    arr_sum = arr1 + arr2
    arr_diff = arr1 - arr2
    arr_prod = arr1 * arr2
    arr_quot = arr1 / arr2
    
    # 矩阵运算
    mat1 = np.array([[1, 2], [3, 4]])
    mat2 = np.array([[5, 6], [7, 8]])
    mat_dot = np.dot(mat1, mat2)  # 矩阵乘法
    
    # 广播机制
    arr_broadcast = arr1 + 5  # 每个元素加5
    

    第三步:机器学习基础7a462e508c69407bbede94dcf41fe8d0.png

    3.1 了解机器学习基本概念

    3.1.1 监督学习

  • 定义

    • 监督学习是一种利用已标注数据进行模型训练的方法,包括分类和回归任务。
    • 分类任务示例:垃圾邮件检测(识别邮件是否为垃圾邮件)。
    • 回归任务示例:房价预测(根据特征预测房价)。
  • 特征工程

    • 特征选择:选择对模型性能有显著影响的特征。方法包括过滤法(如方差选择法)、包裹法(如递归特征消除)和嵌入法(如Lasso回归)。
    • 特征提取:将原始特征转换为新的、更具代表性的特征。常用方法有PCA(主成分分析)和LDA(线性判别分析)。

示例代码

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 加载数据集
data = load_iris()
X = data.data
y = data.target

# 数据分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

3.1.2 非监督学习

  • 定义

    • 非监督学习是一种无需已标注数据进行模型训练的方法,包括聚类和降维任务。
    • 聚类任务示例:客户细分(将客户分成不同群体)。
    • 降维任务示例:数据可视化(将高维数据转换为低维以便于可视化)。
  • 异常检测

    • 异常检测用于识别数据中的异常模式,常用方法有孤立森林(Isolation Forest)和本地离群因子(Local Outlier Factor)。

示例代码:

from sklearn.ensemble import IsolationForest
import numpy as np

# 生成示例数据
X = np.array([[1, 2], [2, 3], [3, 4], [8, 8], [9, 9], [10, 10]])

# 训练孤立森林模型
model = IsolationForest(contamination=0.2)
model.fit(X)

# 预测
outliers = model.predict(X)
print(f"Outliers: {outliers}")

3.1.3 模型训练和评估

模型训练

  • 使用训练数据训练模型,理解模型参数(模型的可学习参数)和超参数(控制学习过程的参数)。

示例代码:

from sklearn.linear_model import LinearRegression

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

模型评估

  • 评估模型的性能,常用指标有准确率、精确率、召回率和F1分数。

示例代码:

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# 预测
y_pred = model.predict(X_test)

# 评估模型
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred, average='macro')
recall = recall_score(y_test, y_pred, average='macro')
f1 = f1_score(y_test, y_pred, average='macro')

print(f"Accuracy: {accuracy}")
print(f"Precision: {precision}")
print(f"Recall: {recall}")
print(f"F1 Score: {f1}")

3.2 实践机器学习模型

3.2.1 数据预处理

  • 数据标准化和归一化

    • 标准化(Standardization):将特征缩放到均值为0、标准差为1的范围。
    • 归一化(Normalization):将特征缩放到0到1的范围。

示例代码:

from sklearn.preprocessing import StandardScaler, MinMaxScaler

# 标准化
scaler = StandardScaler()
X_standardized = scaler.fit_transform(X)

# 归一化
scaler = MinMaxScaler()
X_normalized = scaler.fit_transform(X)

数据分割

  • 将数据分为训练集和测试集,以评估模型的泛化能力。
  • 示例代码:
    from sklearn.model_selection import train_test_split
    
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    

    3.2.2 简单模型实现

线性回归

  • 线性回归用于预测连续值,模型假设特征和目标之间是线性关系。

示例代码:

from sklearn.linear_model import LinearRegression

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")

逻辑回归

  • 逻辑回归用于分类任务,模型输出类别的概率。

示例代码:

from sklearn.linear_model import LogisticRegression

# 创建逻辑回归模型
model = LogisticRegression()

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

决策树

  • 决策树是一种树状结构的模型,通过分裂特征来进行决策。

示例代码:

from sklearn.tree import DecisionTreeClassifier

# 创建决策树模型
model = DecisionTreeClassifier()

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

KNN(K-最近邻)

  • KNN是一种基于实例的学习算法,通过计算样本间的距离进行分类或回归。

示例代码:

from sklearn.neighbors import KNeighborsClassifier

# 创建KNN模型
model = KNeighborsClassifier(n_neighbors=3)

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

第四步:进阶学习

4.1 深入学习模型

4.1.1 复杂模型和算法

随机森林

  • 随机森林是一种集成学习方法,通过构建多棵决策树来提高模型的泛化能力。

示例代码:

from sklearn.ensemble import RandomForestClassifier

# 创建随机森林模型
model = RandomForestClassifier(n_estimators=100)

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

支持向量机

  • 支持向量机是一种用于分类的模型,通过寻找最佳超平面来分割数据。

示例代码:

from sklearn.svm import SVC

# 创建支持向量机模型
model = SVC(kernel='linear')

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

聚类算法

  • K均值聚类是一种常用的聚类算法,通过迭代优化将样本分配到k个聚类中心。

示例代码:

from sklearn.cluster import KMeans

# 创建K均值聚类模型
model = KMeans(n_clusters=3)

# 训练模型
model.fit(X)

# 获取聚类结果
labels = model.predict(X)

神经网络

  • 神经网络用于复杂任务,具有强大的学习能力。常用的框架有Keras和TensorFlow。

示例代码(使用Keras):

from keras.models import Sequential
from keras.layers import Dense

# 创建神经网络模型
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, epochs=5, batch_size=32)

# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Loss: {loss}, Accuracy: {accuracy}")

4.1.2 调参、交叉验证和模型优化

调参

  • 调整模型的超参数以优化模型性能。可以使用Grid Search和Random Search。

示例代码(使用Grid Search):

from sklearn.model_selection import GridSearchCV

# 定义参数网格
param_grid = {'n_estimators': [50, 100, 200], 'max_depth': [None, 10, 20]}

# 创建随机森林模型
model = RandomForestClassifier()

# 网格搜索
grid_search = GridSearchCV(model, param_grid, cv=5)
grid_search.fit(X_train, y_train)

# 最优参数
print(f"Best parameters: {grid_search.best_params_}")

交叉验证

  • 使用交叉验证评估模型,减少过拟合的风险。

示例代码:

from sklearn.model_selection import cross_val_score

# 创建随机森林模型
model = RandomForestClassifier(n_estimators=100)

# 交叉验证
scores = cross_val_score(model, X, y, cv=5)
print(f"Cross-validation scores: {scores}")
print(f"Mean score: {scores.mean()}")

模型优化

  • 使用正则化、特征选择和集成方法优化模型。

示例代码(Lasso正则化):

from sklearn.linear_model import Lasso

# 创建Lasso回归模型
model = Lasso(alpha=0.1)

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")

4.2 项目实践

4.2.1 选择项目

  • 项目选择
    • 根据自己的兴趣和实际应用场景,选择一个机器学习项目进行实践。
    • 示例项目:
      • 房价预测:使用回归模型预测房价。
      • 图像分类:使用卷积神经网络分类图像。
      • 文本分类:使用自然语言处理技术分类文本。

4.2.2 数据收集和清洗

  • 数据收集

    • 从公开数据集、企业数据库或自定义数据源中收集数据。
    • 示例:
      • 使用Kaggle上的公开数据集。
      • 使用API抓取数据。
  • 数据清洗

    • 对收集到的数据进行清洗,确保数据质量。
    • 示例:
      • 处理缺失值、异常值和重复值。
      • 数据转换和标准化。
  • 特征工程

    • 进行特征选择和特征提取,确保模型能有效利用数据。
    • 示例:
      • 使用PCA进行降维。
      • 使用互信息进行特征选择。
  • 模型训练

    • 选择合适的模型,进行模型训练和优化。
    • 示例:
      • 使用随机森林进行分类。
      • 使用支持向量机进行回归。
  • 模型评估

    • 使用各种评估指标评估模型性能,确保模型的泛化能力。
    • 示例:
      • 使用混淆矩阵评估分类模型。
      • 使用均方误差评估回归模型。
  • 模型部署

    • 将训练好的模型部署到生产环境,提供实际服务。
    • 示例:
      • 使用Flask或Django构建API服务。
      • 使用Docker容器化部署。
  • 模型维护

    • 定期监控和更新模型,确保其性能和稳定性。
    • 示例:
      • 使用监控工具跟踪模型的预测结果。
      • 根据新数据定期重新训练模型。

 

第五步:学习资源

5.1 在线课程和文档

5.1.1 在线课程

  • Coursera

    • Andrew Ng的《机器学习》课程是入门机器学习的经典课程,涵盖了机器学习的基本概念和算法。
    • 链接:Coursera机器学习课程
  • Kaggle

    • Kaggle提供了大量的数据科学和机器学习教程,从入门到进阶,适合各种水平的学习者。
    • 链接:Kaggle教程

 

5.1.2 官方文档

  • Scikit-Learn

    • 阅读Scikit-Learn的官方文档,了解各个模型和方法的具体用法和参数。
    • 链接:Scikit-Learn文档
  • Pandas

    • 阅读Pandas的官方文档,掌握数据操作和分析的技巧。
    • 链接:Pandas文档

5.2 书籍推荐

5.2.1 《Python机器学习》

  • 作者:Sebastian Raschka
  • 内容概述:这本书详细介绍了机器学习的基本概念和Scikit-Learn库的使用,适合初学者和中级学习者。
  • 购买链接:Python机器学习

5.2.2 《机器学习实战》

  • 作者:Peter Harrington
  • 内容概述:这本书通过实际案例讲解了多种机器学习算法的实现和应用,适合实践导向的学习者。
  • 购买链接:机器学习实战
  • bf8e2f75f4824312b0fafc4f2f63414e.png

总结 

学习机器学习的路线可以分为几个主要步骤。首先,准备基础知识,学习Python的基本语法,包括变量、数据类型、控制流、函数和模块等。安装PyCharm并熟悉其基本功能和快捷键。接着,掌握数据科学基础,安装NumPy、Pandas、Matplotlib和Scikit-Learn等库,学习数据读取、清洗、处理及可视化技巧。然后,理解机器学习的基本概念,包括监督学习和非监督学习,掌握特征工程、模型训练和评估的方法。

在此基础上,进行数据预处理,标准化和归一化数据,分割训练集和测试集。实践简单模型,如线性回归、逻辑回归、决策树和KNN。进阶学习复杂模型和算法,包括随机森林、支持向量机和神经网络,理解调参、交叉验证和模型优化的技术。

最后,通过实际项目巩固所学知识,从数据收集、清洗、建模到部署,完成整个项目流程。选择一个感兴趣的项目,如房价预测、图像分类或文本分类,进行全面实践,并通过持续的模型维护和优化提升模型性能。通过这一系统的学习路线,你将逐步掌握机器学习的知识和技能。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/753011.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 过滤器和拦截器详解

目录 Spring Boot 过滤器1.什么是过滤器2.工作机制3.实现过滤器 Spring Boot 拦截器1. 什么是拦截器2. 工作原理3.实现4.拓展&#xff08;MethodInterceptor 拦截器&#xff09;实现 过滤器和拦截器区别过滤器和拦截器应用场景过滤器拦截器 Spring Boot 过滤器 1.什么是过滤器 …

从零开始做题:LSB

1 题目 2 解题 2.1 使用stegsolve工具 ┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc] └─$ java -jar Stegsolve.jar 2.1.1 发现R、G、B的plane0有隐藏信息 2.1.2 提取隐藏信息 2.1.3 save bin后得到二维码 2.1.4 QR Research得到flag 3 flag cumtctf{1sb_i4_s0_Ea4y}

leetCode.92. 反转链表 II

leetCode.92. 反转链表 II 题目思路 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode …

【LeetCode:2742. 给墙壁刷油漆 + 递归 + 记忆化搜索 + dp】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

硬件实用技巧:摄像头常用的输出协议类型和输出接口类型

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140042485 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

正念:照进乌云的阳光,改变你的人生|流静

在人生的旅途中&#xff0c;我们时常遭遇乌云密布的时刻&#xff0c;困厄与挫折如同浓重的阴霾&#xff0c;遮挡了前行的道路。然而&#xff0c;在这黑暗之中&#xff0c;总有一束名为“正念”的阳光&#xff0c;能够穿透云层&#xff0c;照亮我们的内心&#xff0c;引领我们走…

【论文阅读 Validation Free and Replication Robust Volume-based Data Valuation】

论文题目 免验证的对于复制鲁棒性的基于量的数据估值 1. 本文具体贡献 通过数据的体积形式化了数据多样性的度量&#xff0c;并在理论上和实证上证明了体积对数据估值的适用性&#xff1b;形式化了复制鲁棒性的概念&#xff0c;并设计了一种基于稳健体积&#xff08;RV&…

【网络安全的神秘世界】解决dvwa靶场报错:Illegal mix of collations for operation ‘UNION‘

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 &#x1f6a9;问题描述 当尝试执行如下 SQL 语句时&#xff1a; 1 union select schema_name,1 from information_schema.s…

不能创建第三个变量,实现两个数的交换

目录 常规实现两个数的交换&#xff08;如&#xff1a;交换变量a和变量b&#xff09; 方法一&#xff1a;加减法 方法二&#xff1a;异或操作符 常规实现两个数的交换&#xff08;如&#xff1a;交换变量a和变量b&#xff09; 创建一个临时变量tmp&#xff0c;先将其中一个…

SpringBoot 3.3.1 + Minio 实现极速上传和预览模式

统一版本管理 <properties><minio.version>8.5.10</minio.version><aws.version>1.12.737</aws.version><hutool.version>5.8.28</hutool.version> </properties><!--minio --> <dependency><groupId>io.m…

慢动作视频怎么制作?5种方法,轻松制作慢动作视频

在短视频风靡的当下&#xff0c;慢动作视频凭借其独特的视觉效果和引人入胜的节奏感&#xff0c;成为了吸引观众眼球的利器。你是否也想知道如何制作这种令人心动的慢动作视频呢&#xff1f;下面教大家5种能够制作出慢动作视频的方法&#xff0c;一起来学习下吧。 方法一&#…

python(二)手把手导入导出工程

目录 一、导入工程 二、安装相关库 1、打开requirements.txt 文件所在目录 2、ctrlshift鼠标右键&#xff0c;点击&#xff1a; 在此处打开PowerShell窗口 3、pip install -r requirements.txt &#xff0c;回车 三、导出环境 1、使用 requirements.txt导出环境中所有使用…

Spring AI之后,阿里推出Spring Cloud Alibaba AI,接入体验篇——Java也能方便用 AI

阿里推出Spring Cloud Alibaba AI&#xff0c;接入体验篇——Java也能方便用 AI 1.Spring AI2.Spring Cloud Alibaba AI3. 接入体验 1.Spring AI Spring AI 是 Spring 官方社区项目&#xff0c;旨在简化 Java AI 应用程序开发&#xff0c;让 Java 开发者像使用 Spring 开发普通…

【从零开始实现联邦学习】

1. 环境配置如下 python3.7pip install torchpip install torchvision 2. 代码如下 原书的代码存在一点bug&#xff0c;现已被作者修复 Client端代码如下 import torch.utils.dataclass Client(object):def __init__(self,conf,model,train_dataset,id1):self.conf conf …

【系统架构设计师】七、信息安全技术基础知识(网络安全技术|网络与信息安全风险|网络安全协议)

目录 一、网络安全技术 1.1 防火墙 1.2 入侵检测系统IDS 1.3 入侵防御系统IPS 1.4 杀毒软件 1.5 蜜罐系统 二、网络与信息安全风险 三、网络安全协议 四、相关推荐 五、历年真题练习 一、网络安全技术 1.1 防火墙 防火墙是在内部网络和外部因特网之间增加的一道安全…

使用自定义的shiro密码匹配器CredentialsMatcher完成密码验证

今天突然想研究一下shiro怎么匹配用户的密码。 我们使用shiro的API登录时&#xff0c;会先创建一个令牌对象&#xff0c;而经常用的令牌对象是UsernamePasswordToken&#xff0c;把用户输入的用户名和密码作为参数构建一个UsernamePasswordToken&#xff0c;然后通过Subject.l…

宏集物联网工控屏通过 S7 ETH 协议采集西门子 1200 PLC 数据

前言 为了实现和西门子PLC的数据交互&#xff0c;宏集物联网HMI集成了S7 PPI、S7 MPI、S7 Optimized、S7 ETH等多个驱动来适配西门子200、300、400、1200、1500、LOGO等系列PLC。 本文主要介绍宏集物联网HMI如何通过S7 ETH协议采集西门子1200 PLC的数据&#xff0c;文中详细介…

办公软件WPS与Office的区别

临近计算机考试很多同学在纠结我是报wps好&#xff1f;还是ms office好&#xff1f;下面就来详细说说。 1、wps属于国内金山公司的办公软件&#xff0c;里面包含word、Excel和PPT。考试是2021年开始的&#xff01; 2、MS&#xff08;Microsoft 微软&#xff09; office属于美…

网易游戏如何基于 Apache Doris 构建全新湖仓一体架构

导读&#xff1a;随着网易游戏品类及产品的快速发展&#xff0c;游戏数据分析场景面临着越来越多的挑战&#xff0c;为了保证系统性能和 SLA&#xff0c;要求引入新的组件来解决特定业务场景问题。为此&#xff0c;网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不…

精益生产转型攻略:如何平稳过渡,避免业务震荡?

在当今快速变化的市场环境中&#xff0c;越来越多的企业开始关注并尝试实施精益生产&#xff0c;以提升生产效率、降低成本并增强竞争力。然而&#xff0c;转型并非一蹴而就&#xff0c;如何在确保精益生产实施效果的同时&#xff0c;又避免对企业的现有业务流程和组织结构产生…