【机器学习】在【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 mathprint(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_splitX_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。进阶学习复杂模型和算法,包括随机森林、支持向量机和神经网络,理解调参、交叉验证和模型优化的技术。

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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在创意设计领域“刷屏”的人工智能生成内容(AIGC)是什么?

在创意设计领域“刷屏”的人工智能生成内容&#xff08;AIGC&#xff09;是什么&#xff1f;这是一个值得深入探讨的话题&#xff0c;它关乎技术的革新、创意的边界以及未来设计行业的走向。随着人工智能技术的飞速发展&#xff0c;AIGC&#xff08;Artificial Intelligence Ge…

聚鼎贸易:装饰画行业还有没有前景

在数字化的浪潮中&#xff0c;装饰画行业似乎被边缘化&#xff0c;成为传统与现代较量中的一片瓦砾。然而&#xff0c;透过表面的凋零&#xff0c;我们能够窥见其潜藏的蓬勃生机与无限前景。 随着社会的快速发展&#xff0c;人们对生活品质的追求日益提高。家&#xff0c;作为个…

火锅食材配送小程序的作用有什么

火锅店、麻辣烫店、餐厅等对火锅丸子食材的需求量很高&#xff0c;还有普通消费者零售等&#xff0c;市场中或城市里总是有着较为知名的食材店或厂商&#xff0c;通过产品质量、口碑、宣传、老客复购等获得更多生意营收。 线下生意放缓&#xff0c;需要商家拓宽渠道。运用雨科…

2、网上图书订购

完整DDLDML SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for administarators -- ---------------------------- DROP TABLE IF EXISTS administarators; CREATE TABLE administarators (admin_id int(11) NOT NULL AU…

搜维尔科技:SenseGlove Nova2国内首款支持手掌心力回馈手套开售

《SenseGlove Nova 2》现正全球发行中! 搜维尔科技独家代理最新上市的 SenseGlove Nova 2 是世上首款&#xff0c;也是目前市面上唯一一款提供手掌力回馈的无缐VR力回馈手套&#xff0c;它结合了三种最先进的反馈技术&#xff0c;包括主动反馈、强力反馈及震动反馈&#xff0c…

基于横纵向的混合联邦学习原理分析

近期陆续接触到关于混合联邦学习的概念&#xff0c;但基于横纵向的混合联邦实际的应用案例却几乎没有看到&#xff0c;普遍是一些实验性的课题&#xff0c;因此这一领域知识没有被很好普及。本篇文章的目的&#xff0c;主要是分析讨论关于横纵向混合联邦学习的业务场景、应用架…

nginx: [warn] 20240 worker_connections exceed open file resource limit: 1024

nginx: [warn] 20240 worker_connections exceed open file resource limit: 1024 报错翻译过来就是&#xff1a; nginx&#xff1a;[警告] 20240 worker_connections超出打开文件资源限制&#xff1a;1024 解决方法&#xff1a; 1.查看当前文件打开数量的限制 ulimit -S…

2024软博会

2024年&#xff0c;金秋的十月&#xff0c;青岛国际会展中心迎来了一年一度的科技盛宴——青岛国际软件融合创新博览会&#xff08;简称“青岛软博会”&#xff09;。这场为期三天的展会&#xff0c;不仅吸引了全球软件产业的目光&#xff0c;更成为了展示中国软件产业发展成果…

OpenHarmony南向驱动开发实战-Input

简介 该仓下主要包含Input模块HDI&#xff08;Hardware Driver Interface&#xff09;接口定义及其实现&#xff0c;对上层输入服务提供操作input设备的驱动能力接口&#xff0c;HDI接口主要包括如下三大类&#xff1a; InputManager&#xff1a;管理输入设备&#xff0c;包括…

数据库系统概论(超详解!!!) 第十四节 数据库恢复技术

1.事务的基本概念 1.事务 事务(Transaction)是用户定义的一个数据库操作序列&#xff0c;这些操作要么全做&#xff0c;要么全不做&#xff0c;是一个不可分割的工作单位。 事务和程序是两个概念&#xff0c; 在关系数据库中&#xff0c;一个事务可以是一条SQL语句&#xff…

rockey linux rpm安装mysql 8.4.0

背景介绍&#xff1a; 系统 rockey linux 9.4 mysql 8.4.0 我一开始想在系统上安装5.7的着&#xff0c;因为我有这个包&#xff0c;但是通过rpm安装的时候&#xff0c;到最后一步提示我没有/usbin/chkconfig 这个目录&#xff0c;怀疑是系统的问题&#xff0c;然后想安装chk…

未来先行!MWC 2024 世界移动通信大会盛大开幕!!!

2024MWC上海世界移动通信大会&#xff0c;在上海新国际博览中心&#xff08;SNIEC&#xff09;盛大开幕。 今年&#xff0c;MWC的主办方GSMA&#xff08;全球移动通信系统协会&#xff09;为这届MWC定下了一个主题——“Future First&#xff08;未来先行&#xff09;”。各大…

内网穿透技术

内网穿透&#xff08;NAT traversal&#xff09;是一种技术&#xff0c;用于实现公网与内网之间的通信连接。当内网中的设备无法直接从公网访问时&#xff0c;内网穿透技术可以通过一些手段&#xff0c;让公网上的设备能够穿透到内网中的设备&#xff0c;建立起通信连接。 说白…

盘点7款适合团队使用的知识库工具

作为一名技术爱好者和企业管理者&#xff0c;我深知知识库工具在日常工作中的重要性。 无论是个人笔记管理还是企业知识共享&#xff0c;知识库工具都能极大地提升我们的工作效率和信息管理水平。 根据麦肯锡全球研究院报告显示&#xff0c;使用知识库工具可以帮助个人或者企…

windows11 OneDrive禁止开机自启动。

1、先上个图&#xff1a; 开机默认自启&#xff0c;然后设置中&#xff0c;也没有找到可以设置的。 2、然后我们通过任务管理器来处理&#xff0c;右键任务栏&#xff1a; 打开任务管理器&#xff1a; 选中OneDrive&#xff0c;然后点击【禁 用】按钮即可。 或者鼠标右键&…

【C++:list】

list概念 list是一个带头的双向循环链表&#xff0c;双向循环链表的特色&#xff1a;每一个节点拥有两 个指针进行维护&#xff0c;俩指针分别为prev和next,prev指该节点的前一个节点&#xff0c;next为该节点的后一个节点 list的底层实现中为什么对迭代器单独写一个结构体进行…

视频均衡驱动器,SDI产品PIN LMH0387

视频均衡驱动器,功能仿制 TI公司 LMH0387产品。本期间支持 DVB-ASI,作为驱动器能够选择输出速率,作为均衡接收器能支持100m 以上传输距离(线缆类型 Belden1694A)。 工作温度范围:-40℃~85℃:a) 电源电压:3.14V~3.46V: 驱动器输出信号:单端 CML 信号: 均衡器输出信号:LVDS 电平…

【C++/STL】:优先级队列的使用及底层剖析仿函数

目录 &#x1f4a1;前言一&#xff0c;优先级队列的使用二&#xff0c;仿函数1&#xff0c;什么是仿函数2&#xff0c;仿函数的简单示例 三&#xff0c;优先级队列的底层剖析 &#x1f4a1;前言 优先队列(priority_queue)是一种容器适配器&#xff0c;默认使用vector作为其底层…

Pbootcms留言“提交成功”的提示语怎么修改

我们在用到pbootcms建站时候&#xff0c;其中有个留言功能&#xff0c;提交成功后会提示&#xff1a;提交成功&#xff08;如下图所示&#xff09;&#xff0c;那么我们要修改这个提示语要怎么操作呢&#xff1f; 如果需要修改的话&#xff0c;直接找到文件/apps/home/control…

【Android】【Compose】Compose里面的Row和Column的简单使用

内容 Row和Column的简单使用方式和常用属性含义 Row 在 Jetpack Compose 中&#xff0c;Row 是一种用于在水平方向排列子元素的布局组件。它类似于传统 Android 中的 LinearLayout&#xff0c;但更加灵活和强大。 Row的代码 Composable inline fun Row(modifier: Modifier…