【人工智能数据科学与数据处理】——深入详解数据科学与数据处理之数据获取与清洗

深入详解数据科学与数据处理之数据获取与清洗

数据获取与清洗是数据科学与数据处理流程中的关键步骤,它们直接影响后续的数据分析、建模与决策。本文将深入探讨数据获取与清洗的关键概念、核心原理、具体示例及主要应用,重点涵盖从数据库、API、网页抓取等方式获取数据的方法。

目录

  1. 引言
  2. 数据获取
    • 2.1 数据采集概述
    • 2.2 从数据库获取数据
      • 2.2.1 关键概念
      • 2.2.2 核心原理
      • 2.2.3 示例及应用
    • 2.3 使用API获取数据
      • 2.3.1 关键概念
      • 2.3.2 核心原理
      • 2.3.3 示例及应用
    • 2.4 网页抓取(Web Scraping)
      • 2.4.1 关键概念
      • 2.4.2 核心原理
      • 2.4.3 示例及应用
  3. 数据清洗
    • 3.1 数据清洗概述
    • 3.2 关键概念
      • 3.2.1 缺失值处理
      • 3.2.2 重复数据处理
      • 3.2.3 异常值处理
      • 3.2.4 数据转换
    • 3.3 核心原理
    • 3.4 示例及应用
  4. 工具与技术
  5. 实践中的注意事项
  6. 总结

1. 引言

在数据科学项目中,数据获取与清洗(Data Acquisition and Cleaning)是首要且关键的步骤。高质量的数据获取与清洗不仅能够提高分析结果的准确性,还能显著提升模型的性能。本文将详细介绍多种数据获取方法,包括从数据库、API和网页抓取等,同时深入探讨数据清洗的关键技术和实际应用。


2. 数据获取

数据获取指的是从各种来源收集原始数据的过程。常见的数据获取方式包括从数据库提取、通过API获取以及通过网页抓取。以下将分别讨论这些方法的关键概念、核心原理、以及具体示例和应用。

2.1 数据采集概述

数据采集是数据获取的前提,涉及识别数据源、确定数据需求并实施数据收集。有效的数据采集策略能够确保获取到相关且高质量的数据,支持后续的数据分析与建模工作。

关键步骤包括:

  • 需求分析:确定所需数据的类型、格式和更新频率。
  • 数据源识别:选择合适的数据源,如内部数据库、第三方API、公开数据集等。
  • 数据收集:使用适当的工具和技术从数据源中提取数据。
  • 数据存储:将收集到的数据存储在适当的存储系统中,便于后续处理。

2.2 从数据库获取数据

数据库是结构化数据的重要存储方式,广泛应用于企业、科研等领域。通过数据库,可以高效地存取和管理大量数据。

2.2.1 关键概念
  • 关系型数据库(RDBMS):如MySQL、PostgreSQL、Oracle,使用结构化查询语言(SQL)操作数据。
  • 非关系型数据库(NoSQL):如MongoDB、Cassandra,适用于大规模分布式数据存储,支持灵活的数据模式。
  • SQL(Structured Query Language):用于管理和查询关系型数据库的语言。
  • 连接(Join):将来自不同表的数据结合在一起,基于共同的键值。
  • 索引(Indexing):提高数据检索效率的技术。
2.2.2 核心原理

从数据库获取数据主要依赖于数据库管理系统(DBMS)提供的查询功能。以关系型数据库为例,数据以表格形式存储,通过SQL语句进行数据的增删改查。非关系型数据库则使用不同的查询接口和方法,适应多样化的数据结构。

基本流程:

  1. 连接数据库:使用数据库驱动(如PyMySQL、psycopg2)连接到目标数据库。
  2. 编写查询语句:使用SQL构建查询,根据需求筛选所需数据。
  3. 执行查询:将查询语句发送给数据库,获取结果。
  4. 处理结果:将查询结果转换为适用的格式,如Pandas DataFrame,以便进一步分析。
2.2.3 示例及应用

以下示例展示如何使用Python连接MySQL数据库,执行查询并将结果转换为Pandas DataFrame。

import mysql.connector
import pandas as pd

# 建立数据库连接
config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'localhost',
    'database': 'your_database',
}
try:
    conn = mysql.connector.connect(**config)
    print("数据库连接成功")
except mysql.connector.Error as err:
    print(f"连接失败: {err}")

# 编写SQL查询
query = """
SELECT customer_id, name, email, signup_date
FROM customers
WHERE signup_date >= '2023-01-01'
"""

# 执行查询并获取数据
df = pd.read_sql(query, conn)

# 关闭连接
conn.close()

# 显示前5行数据
print(df.head())

代码说明:

  1. 连接数据库:使用mysql.connector.connect方法连接到MySQL数据库,需提供用户名、密码、主机地址和数据库名称。
  2. 编写查询语句:使用多行字符串编写复杂的SQL查询,筛选出自2023年1月1日以来注册的客户信息。
  3. 执行查询并获取数据:使用Pandas的read_sql函数直接将查询结果加载为DataFrame,方便后续处理。
  4. 关闭连接:操作完成后,关闭数据库连接以释放资源。

主要应用:

  • 商业智能(BI):从企业数据库中提取销售、客户、库存数据,支持业务决策。
  • 科研数据分析:从科研数据库中获取实验数据,进行统计分析与模型构建。
  • 数据集成:将来自不同数据库的数据整合,构建统一的数据仓库。

2.3 使用API获取数据

应用程序接口(API,Application Programming Interface)是不同软件系统之间交互的接口,广泛用于数据获取和服务集成。通过API,可以方便地访问和获取各种在线数据服务。

2.3.1 关键概念
  • REST API:基于Representational State Transfer的API,使用HTTP协议,常见于Web服务。
  • SOAP API:基于Simple Object Access Protocol的API,使用XML格式,较为复杂。
  • 端点(Endpoint):API提供的具体访问地址,通常以URL形式表示。
  • 请求方法:如GET(获取数据)、POST(提交数据)、PUT(更新数据)、DELETE(删除数据)。
  • 认证(Authentication):保护API安全,常用方式包括API密钥、OAuth等。
  • JSON(JavaScript Object Notation):轻量级数据交换格式,广泛用于API数据传输。
2.3.2 核心原理

使用API获取数据主要涉及以下步骤:

  1. 了解API文档:阅读API提供方的文档,了解可用的端点、请求方法、参数和认证方式。
  2. 认证与授权:根据API要求,获取必要的认证信息,如API密钥或访问令牌。
  3. 构建请求:使用HTTP客户端,如Python的requests库,构建并发送HTTP请求。
  4. 处理响应:解析API返回的数据,通常为JSON格式,转换为适用的数据结构,如Pandas DataFrame。
  5. 错误处理:处理可能的错误响应,如认证失败、请求限制等。
2.3.3 示例及应用

以下示例展示如何使用Python通过Twitter API获取最近的推文数据。

import requests
import pandas as pd

# 替换为你的Twitter API访问令牌
BEARER_TOKEN = 'YOUR_TWITTER_BEARER_TOKEN'

# 定义API端点和参数
url = "https://api.twitter.com/2/tweets/search/recent"
query_params = {
    'query': 'data science',
    'max_results': 10,
    'tweet.fields': 'created_at,author_id'
}

# 设置请求头
headers = {
    'Authorization': f'Bearer {BEARER_TOKEN}',
    'Content-Type': 'application/json'
}

# 发送GET请求
response = requests.get(url, headers=headers, params=query_params)

# 检查响应状态
if response.status_code != 200:
    raise Exception(f"请求失败: {response.status_code}, {response.text}")

# 解析JSON响应
data = response.json()

# 提取推文数据
tweets = data.get('data', [])
df = pd.DataFrame(tweets)

# 显示数据
print(df.head())

代码说明:

  1. API认证:使用Bearer Token进行认证,需替换为有效的Twitter API访问令牌。
  2. 构建请求:定义搜索关键词(如“data science”)、结果数量等参数。
  3. 发送请求:使用requests.get方法发送GET请求到Twitter API的最近推文搜索端点。
  4. 处理响应:检查响应状态码,若成功,则解析JSON数据并提取推文信息,转换为Pandas DataFrame。
  5. 显示数据:输出获取到的推文数据。

主要应用:

  • 社交媒体分析:从Twitter、Facebook等平台获取用户生成内容,进行情感分析、趋势预测等。
  • 金融数据获取:通过金融市场API获取实时或历史的股票、期货数据,支持量化交易和风险管理。
  • 天气数据获取:从天气服务API获取实时或预报的天气数据,应用于农业、物流等行业。

2.4 网页抓取(Web Scraping)

网页抓取是通过编程方式从网站上提取数据的技术,适用于无需公开API的场景。常见于电商、新闻、论坛等网站的数据采集。

2.4.1 关键概念
  • HTML解析:理解HTML结构,使用解析器提取所需数据。
  • DOM(Document Object Model):HTML文档的对象表示,便于定位元素。
  • 选择器(Selectors):如CSS选择器、XPath,用于定位特定的HTML元素。
  • 反爬机制:网站使用的防止爬取的技术,如IP封禁、验证码等。
  • 礼貌爬取:遵守网站的robots.txt协议,合理控制爬取频率,避免对服务器造成负担。
2.4.2 核心原理

网页抓取的核心步骤包括:

  1. 发送请求:使用HTTP客户端发送请求到目标网页,获取HTML内容。
  2. 解析HTML:使用解析库(如BeautifulSoup、lxml)解析HTML,构建DOM树。
  3. 定位数据:使用选择器定位所需的数据元素。
  4. 提取数据:提取并清洗数据,转换为结构化格式。
  5. 存储数据:将提取的数据存储到文件、数据库或其他存储介质中。
  6. 处理反爬机制:如使用代理、设置合理的请求头、处理验证码等。
2.4.3 示例及应用

以下示例展示如何使用Python的BeautifulSoup库抓取一家电商网站的产品名称和价格。

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 目标网页URL(示例:假设为某电商网站的产品页面)
url = "https://www.example-ecommerce.com/products"

# 设置请求头,模拟浏览器行为
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' \
                  '(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}

# 发送GET请求
response = requests.get(url, headers=headers)

# 检查响应状态
if response.status_code != 200:
    raise Exception(f"请求失败: {response.status_code}")

# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')

# 定位产品列表(假设产品在class为'product-item'的div中)
product_divs = soup.find_all('div', class_='product-item')

# 提取产品名称和价格
products = []
for div in product_divs:
    name = div.find('h2', class_='product-name').text.strip()
    price = div.find('span', class_='product-price').text.strip()
    products.append({'Name': name, 'Price': price})

# 转换为DataFrame
df = pd.DataFrame(products)

# 显示数据
print(df.head())

# 保存到CSV文件
df.to_csv('products.csv', index=False)

代码说明:

  1. 设置请求头:通过设置User-Agent头,模拟浏览器行为,避免被反爬机制阻挡。
  2. 发送请求:使用requests.get方法发送GET请求,获取目标网页的HTML内容。
  3. 解析HTML:使用BeautifulSoup解析HTML,创建DOM树。
  4. 定位数据:通过find_all方法查找所有包含产品信息的div元素(假设类名为product-item)。
  5. 提取数据:遍历每个产品div,提取产品名称和价格,并存储在列表中。
  6. 保存数据:将提取的数据转换为Pandas DataFrame,并保存为CSV文件。

主要应用:

  • 市场研究:从竞争对手网站抓取产品、价格、库存等信息,进行市场分析。
  • 内容聚合:从多个新闻网站抓取最新资讯,构建新闻聚合平台。
  • 数据集构建:为机器学习模型构建训练和测试数据集,如图像识别、文本分类等。

3. 数据清洗

数据清洗是将原始数据转换为高质量、统一格式的数据的过程,旨在提高数据的准确性和一致性,为后续的数据分析和建模奠定基础。

3.1 数据清洗概述

数据清洗主要包括处理缺失值、重复数据、异常值,以及进行必要的数据转换。高效的数据清洗能够显著提升数据分析的可靠性和模型的性能。

3.2 关键概念

3.2.1 缺失值处理

缺失值是指数据集中某些观测记录中缺少特定特征的值。缺失值处理方法包括:

  • 删除法:删除包含缺失值的记录或特征。
  • 插补法:使用均值、中位数、众数或预测模型填补缺失值。
  • 标记法:对缺失值进行标记,作为单独的类别或数值处理。
3.2.2 重复数据处理

重复数据是指数据集中存在完全相同或高度相似的记录。处理方法包括:

  • 识别重复记录:使用唯一标识符或特征组合检测重复。
  • 删除重复记录:保留一条记录,删除其余重复条目。
  • 聚合重复记录:对重复记录进行聚合,如求平均、求和等。
3.2.3 异常值处理

异常值是指在数据集中偏离其他观测值的极端值。处理方法包括:

  • 识别异常值:使用统计方法(如Z-score、IQR)或可视化方法(如箱线图)。
  • 处理异常值:删除、替换或保留,根据具体情况决定。
3.2.4 数据转换

数据转换是指将数据从一种形式转换为另一种形式,包括:

  • 标准化与归一化:调整数值特征的尺度,使其处于相同的范围。
  • 编码:将分类变量转换为数值形式,如独热编码(One-Hot Encoding)、标签编码(Label Encoding)。
  • 特征工程:创建新的特征,如特征提取、特征组合等。

3.3 核心原理

数据清洗的核心原理是通过识别和修正数据中的错误、不一致和不完整之处,提升数据质量。有效的数据清洗需要结合统计理论和具体业务需求,选择合适的方法和策略。

关键步骤包括:

  1. 数据审查:通过描述统计、可视化等手段审查数据质量。
  2. 识别问题:检测缺失值、重复数据、异常值等问题。
  3. 选择处理方法:根据问题的性质和业务需求,选择适当的处理方法。
  4. 实施处理:应用选定的方法对数据进行清洗。
  5. 验证结果:确保数据清洗后的质量,避免引入新的错误。

3.4 示例及应用

以下示例展示如何使用Python的Pandas库进行数据清洗,包括处理缺失值、重复数据和异常值,以及进行数据转换。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 读取示例数据集(假设为客户数据)
df = pd.read_csv('customer_data.csv')

# 显示数据摘要
print(df.info())
print(df.describe())

# 3.2.1 缺失值处理
# 检查缺失值
print(df.isnull().sum())

# 填补缺失值(数值特征用中位数,分类特征用众数)
numeric_features = df.select_dtypes(include=[np.number]).columns
categorical_features = df.select_dtypes(include=['object']).columns

for feature in numeric_features:
    median = df[feature].median()
    df[feature].fillna(median, inplace=True)

for feature in categorical_features:
    mode = df[feature].mode()[0]
    df[feature].fillna(mode, inplace=True)

# 验证缺失值已处理
print(df.isnull().sum())

# 3.2.2 重复数据处理
# 检查重复记录
duplicates = df.duplicated()
print(f"重复记录数: {duplicates.sum()}")

# 删除重复记录
df.drop_duplicates(inplace=True)

# 3.2.3 异常值处理
# 可视化数值特征的分布,查找异常值
plt.figure(figsize=(10, 6))
sns.boxplot(data=df[numeric_features])
plt.xticks(rotation=90)
plt.show()

# 使用IQR方法识别异常值
Q1 = df[numeric_features].quantile(0.25)
Q3 = df[numeric_features].quantile(0.75)
IQR = Q3 - Q1

# 定义异常值范围
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

# 标记异常值
outliers = ((df[numeric_features] < lower_bound) | (df[numeric_features] > upper_bound))
print(outliers.sum())

# 替换异常值为上下限
df = df.clip(lower=lower_bound, upper=upper_bound, axis=1)

# 3.2.4 数据转换
# 标准化数值特征
from sklearn.preprocessing import StandardScaler, OneHotEncoder

scaler = StandardScaler()
df[numeric_features] = scaler.fit_transform(df[numeric_features])

# 独热编码分类特征
encoder = OneHotEncoder(sparse=False, drop='first')
encoded_cats = encoder.fit_transform(df[categorical_features])
encoded_df = pd.DataFrame(encoded_cats, columns=encoder.get_feature_names_out(categorical_features))

# 合并编码后的特征
df = pd.concat([df.drop(columns=categorical_features), encoded_df], axis=1)

# 显示清洗后的数据
print(df.head())

# 保存清洗后的数据
df.to_csv('customer_data_cleaned.csv', index=False)

代码说明:

  1. 读取数据:使用Pandas读取客户数据集,并显示数据摘要与统计信息。
  2. 处理缺失值
    • 识别缺失值:使用isnull().sum()检查各特征的缺失值数量。
    • 填补缺失值:数值特征用中位数填补,分类特征用众数填补。
  3. 处理重复数据
    • 识别重复记录:使用duplicated()方法查找重复记录。
    • 删除重复记录:使用drop_duplicates()方法删除重复记录。
  4. 处理异常值
    • 可视化分布:使用箱线图可视化数值特征的分布,识别潜在异常值。
    • IQR方法:计算四分位距,定义上下限并标记异常值。
    • 替换异常值:将异常值替换为上下限值,限制其影响。
  5. 数据转换
    • 标准化:使用StandardScaler对数值特征进行标准化,使其均值为0,方差为1。
    • 独热编码:使用OneHotEncoder将分类特征转换为独热编码形式,并合并到主数据集中。
  6. 保存数据:将清洗后的数据保存为新的CSV文件,便于后续分析。

主要应用:

  • 商业分析:清洗客户数据,支持市场细分、客户价值分析等。
  • 机器学习:准备高质量的训练数据,提升模型的准确性和泛化能力。
  • 科研研究:处理实验数据,确保数据分析结果的可靠性。

4. 工具与技术

在数据获取与清洗过程中,使用合适的工具和技术能够显著提高效率和准确性。以下是常用的工具和技术介绍:

4.1 编程语言

  • Python:数据科学领域的主流语言,拥有丰富的数据处理库,如Pandas、NumPy、Requests、BeautifulSoup、Scrapy等。
  • R:统计分析和数据可视化的强大工具,适用于数据清洗和探索性分析。
  • SQL:用于操作和查询关系型数据库,Pandas中的read_sql函数依赖于SQL语句。

4.2 数据库管理系统(DBMS)

  • MySQL:开源关系型数据库,广泛应用于Web开发和企业应用。
  • PostgreSQL:功能强大的开源关系型数据库,支持复杂查询和扩展。
  • MongoDB:流行的NoSQL数据库,适用于存储和管理非结构化数据。

4.3 API工具

  • Postman:用于测试和调试API请求的工具,支持构建和保存请求。
  • Swagger:提供API文档和测试的工具,帮助开发和使用API。

4.4 网页抓取工具

  • BeautifulSoup:Python库,用于解析和提取HTML内容,适用于简单的网页抓取任务。
  • Scrapy:功能强大的Python框架,适用于大型、复杂的网页抓取项目。
  • Selenium:自动化浏览器操作的工具,适用于处理需要JavaScript渲染的动态网页。

4.5 数据清洗与处理库

  • Pandas:Python库,提供高效的数据结构和数据分析工具,广泛用于数据清洗与处理。
  • NumPy:Python库,支持大规模多维数组和矩阵运算。
  • Scikit-learn:Python库,提供数据预处理和特征工程工具。

4.6 版本控制与协作

  • Git:分布式版本控制系统,管理代码和数据处理脚本的版本。
  • GitHub/GitLab:托管平台,支持协作开发和版本管理。

5. 实践中的注意事项

在实际进行数据获取与清洗时,应注意以下事项,以确保过程高效且合法:

5.1 数据隐私与合规

  • 隐私保护:确保不违反数据隐私法规(如GDPR、CCPA),特别是在处理个人敏感信息时。
  • 数据授权:获取和使用数据之前,确认拥有合法的使用权限,避免侵权。

5.2 网站爬取礼仪

  • 遵守robots.txt:检查网站的robots.txt文件,了解爬取权限和限制。
  • 控制请求频率:避免过于频繁的请求,防止服务器负载过高或被封禁。
  • 使用适当的请求头:模拟浏览器行为,避免被识别为恶意爬虫。

5.3 数据质量管理

  • 一致性检查:确保数据格式统一,避免混乱。
  • 重复验证:在数据清洗过程中多次验证,确保没有遗漏或误处理。
  • 版本控制:使用版本控制系统管理数据处理脚本和配置文件,追踪变化。

5.4 错误处理与日志记录

  • 异常处理:适当处理代码中的异常情况,避免程序崩溃。
  • 日志记录:记录数据获取和清洗过程中的关键事件,便于调试和审计。

5.5 自动化与可重复性

  • 脚本化流程:尽可能将数据获取与清洗过程脚本化,确保可重复执行。
  • 文档化:详细记录数据处理步骤和逻辑,便于团队协作和后续维护。

6. 总结

数据获取与清洗是数据科学项目中至关重要的环节,决定了后续分析和建模的基础质量。通过多样的获取方法,如从数据库提取、通过API获取以及网页抓取,能够全面获取所需数据。同时,系统的数据清洗流程,包括处理缺失值、重复数据和异常值,以及数据转换,能够提升数据的准确性和一致性。

关键要点:

  • 多渠道数据获取:灵活使用数据库、API和网页抓取等方法,获取丰富的数据资源。
  • 全面数据清洗:系统地处理缺失值、重复数据和异常值,确保数据质量。
  • 工具与技术选择:根据需求选择合适的工具和技术,提高数据处理效率。
  • 合规与伦理:遵守数据隐私和法律法规,确保数据获取与处理的合法性。

通过深入理解和掌握数据获取与清洗的关键概念与技术,数据科学家能够构建高质量的数据基础,支持更为精准和可靠的分析与决策。


参考资料

  1. 《Python数据科学手册》(Jake VanderPlas 著)
  2. 《数据清洗:原理与实践》(T. F. Chan, W. S. Wong 著)
  3. 在线文档和教程
    • Pandas 官方文档
    • BeautifulSoup 文档
    • Requests 文档
    • Scrapy 官方文档
  4. 网络资源
    • Kaggle 数据科学社区
    • Stack Overflow
    • Towards Data Science

本文旨在提供数据科学与数据处理中的数据获取与清洗的全面介绍。希望能为读者在实际项目中应用提供有价值的指导。

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

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

相关文章

Git 下载问题及解决方法

在某些网络环境下&#xff0c;可能会遇到 Git 无法下载的问题&#xff0c;通常是由于网络限制或需要通过代理访问导致的。以下是常见的解决方法&#xff0c;包括设置代理、取消代理以及其他诊断方法。 1. 设置 Git 代理 在一些网络环境下&#xff0c;可能会使用工具&#xff0…

【算法刷题】数组篇

文章目录 数组中两个数的最⼤异或值找出所有⼦集的异或总和再求和 数组中两个数的最⼤异或值 leet code&#xff1a;https://leetcode.cn/problems/maximum-xor-of-two-numbers-in-an-array/description/暴力解法&#xff1a;【部分样例超时&#xff0c;通过不了&#xff0c;不…

硬件设计-关于ADS54J60的校准问题

目录 简介: 校准模分析: 交错的优势 交错挑战 S/2 fIN处产生杂散。失调不匹配杂散很容易识别,因为只有它位于fS/2处,并可轻松地进行补偿。增益、时序和带宽不匹配都会在输出频谱的fS/2 fIN 处产生杂散;因此,随之而来的问题是:如何确定它们各自的影响。图8以简单的…

python小项目:给复制出来的段落前添加星号

给复制出来的段落前添加星号 最终效果二、实现步骤2.1 编写python脚本2.2 批处理脚本2.3 运行脚本 三、用到知识3.1 pyperclip 模块 最终效果 说明&#xff1a;复制四段内容&#xff08;段落实际不做限制&#xff09;&#xff0c;在windows终端输入 bulletPointAdder&#xff0…

超声波信号采集传感器模块测试分析总结

一 概述 数字化和小型化是目前医学超声的主要发展趋势之一。传统的推车式、大探头超声设备体积巨大且价格昂贵&#xff0c;而现在市场中的小型化超声设备经过更新发展&#xff0c;在保证图像清晰和高分辨率的同时&#xff0c;不仅功能更完善、探头也更多样化。这些新型的小型设…

ArcGIS计算矢量要素集中每一个面的遥感影像平均值、最大值等统计指标

本文介绍在ArcMap软件中&#xff0c;基于矢量面要素集&#xff0c;计算在其中每一个面区域内&#xff0c;遥感影像的像元个数、平均值、总和等统计值&#xff0c;并将统计信息附加到矢量图层的属性表中的方法。 首先&#xff0c;明确一下本文的需求。现在有一个矢量面要素集&am…

AI大模型系列之七:Transformer架构讲解

目录 Transformer网络是什么&#xff1f; 输入模块结构&#xff1a; 编码器模块结构&#xff1a; 解码器模块: 输出模块结构&#xff1a; Transformer 具体是如何工作的&#xff1f; Transformer核心思想是什么&#xff1f; Transformer的代码架构 自注意力机制是什么…

家政预约小程序05活动管理

目录 1 搭建活动管理页面2 搭建活动规则页面3 搭建规则新增页面3 配置规则跳转4 搭建活动参与记录总结 上一篇我们介绍了活动管理的表结构设计&#xff0c;本篇我们介绍一下后台功能。 1 搭建活动管理页面 我们一共搭建了三个表&#xff0c;先搭建主表的后台功能。打开我们的后…

SpringCloud(二)--SpringCloud服务注册与发现

一. 引言 ​ 前文简单介绍了SpringCloud的基本简介与特征&#xff0c;接下来介绍每个组成部分的功能以及经常使用的中间件。本文仅为学习所用&#xff0c;联系侵删。 二. SpringCloud概述 2.1 定义 ​ Spring Cloud是一系列框架的有序集合&#xff0c;它巧妙地利用了Spring…

当生成式AI遇见数字孪生

吴付标 总部位于美国宾夕法尼亚州的Bentley软件公司&#xff0c;于金秋十月在枫叶之国加拿大名城温哥华举办一年一度的2024纵览基础设施大会暨光辉大奖赛。此次盛会吸引了来自全球的数百位行业精英&#xff0c;旨在探讨基础设施数智化的最新趋势&#xff0c;分享生态圈的创新成…

散度与旋度的探讨

一、散度的定义与物理意义 1. 散度的定义 散度(Divergence)是向量分析中的一个核心概念,用于描述一个向量场在某一点的源或汇的强度。在数学上,散度通常使用符号“div”表示。对于一个三维向量场F(x, y, z) = (Fx, Fy, Fz),其散度可以定义为: div F = ∂Fx/∂x + ∂Fy/…

英文字体:创意前卫杀手级标题海报封面设计粗体字体 Morne Display

看啊&#xff0c;设计师们&#xff01;Morne 刚刚进入字体游戏&#xff0c;让我们告诉你&#xff0c;它不是来玩的——认识我们的字体&#xff0c;它就像你早上的咖啡一样大胆。无论您是在制作杀手级标题、偷偷摸摸的副标题还是大胆的海报&#xff0c;Morne 都能为您提供前后、…

LLM - 使用 LLaMA-Factory 部署大模型 HTTP 多模态服务 (4)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/144881432 大模型的 HTTP 服务&#xff0c;通过网络接口&#xff0c;提供 AI 模型功能的服务&#xff0c;允许通过发送 HTTP 请求&#xff0c;交互…

【大模型系列】Mobile-Agent(2024.04)

Paper: https://arxiv.org/pdf/2401.16158Github: https://github.com/X-PLUG/MobileAgentAuthor: Junyang Wang et al. 北交、阿里巴巴 Mobile-agent核心工作&#xff1a; 首先使用视觉感知工具(检测和OCR模型)识别前端界面中文本和图像元素的精确位置 检测图标&#xff1a;…

JVM实战—8.如何分析jstat统计来定位GC

大纲 1.使用jstat了解线上系统的JVM运行状况 2.使用jmap和jhat了解线上系统的对象分布 3.如何分析JVM运行状况并合理优化 4.使用jstat分析模拟的BI系统JVM运行情况 5.使用jstat分析模拟的计算系统JVM运行情况 6.问题汇总 1.使用jstat了解线上系统的JVM运行状况 (1)JVM的…

什么是Redis哨兵机制?

大家好&#xff0c;我是锋哥。今天分享关于【什么是Redis哨兵机制&#xff1f;】面试题。希望对大家有帮助&#xff1b; 什么是Redis哨兵机制&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 哨兵&#xff08;Sentinel&#xff09;机制是 Redis 提…

深度学习的魔法世界

技术文章&#xff1a;深度学习的魔法世界 引言 嘿&#xff0c;今天我们要一起探索一个非常酷的魔法世界——深度学习&#xff01;这是一门让计算机变得超级聪明的科学。我们会用最简单的语言来解释深度学习的基本概念&#xff0c;让你们也能轻松理解。 一、深度学习的六大魔…

数据挖掘——决策树分类

数据挖掘——决策树分类 决策树分类Hunt算法信息增益增益比率基尼指数连续数据总结 决策树分类 树状结构&#xff0c;可以很好的对数据进行分类&#xff1b; 决策树的根节点到叶节点的每一条路径构建一条规则&#xff1b;具有互斥且完备的特点&#xff0c;即每一个样本均被且…

RFID手持机与RFID工业平板在仓储物流管理系统中的选型

概述 随着物联网技术在仓储物流管理系统中的普及&#xff0c;RFID手持机与RFID工业平板作为基于RFID技术手持式读写器的两种重要终端设备形态&#xff0c;得到了广泛应用。尽管RFID手持机与RFID工业平板都具备读写 RFID标签的基本功能&#xff0c;使用场景较为类似&#xff0c…

文件本地和OSS上传

这里写目录标题 前端传出文件后端本地存储阿里云OSS存储上传Demo实现上传ConfigurationProperties 前端传出文件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>上传文件</title> </head&g…