【机器学习】机器学习与电商推荐系统的融合应用与性能优化新探索

news2024/12/23 18:05:11

文章目录

    • 引言
    • 第一章:机器学习在电商推荐系统中的应用
      • 1.1 数据预处理
        • 1.1.1 数据清洗
        • 1.1.2 数据归一化
        • 1.1.3 特征工程
      • 1.2 模型选择
        • 1.2.1 协同过滤
        • 1.2.2 矩阵分解
        • 1.2.3 基于内容的推荐
        • 1.2.4 混合推荐
      • 1.3 模型训练
        • 1.3.1 梯度下降
        • 1.3.2 随机梯度下降
        • 1.3.3 Adam优化器
      • 1.4 模型评估与性能优化
        • 1.4.1 模型评估指标
        • 1.4.2 超参数调优
        • 1.4.3 增加数据量
        • 1.4.4 模型集成
    • 第二章:推荐系统的具体案例分析
      • 2.1 商品推荐
        • 2.1.1 数据预处理
        • 2.1.2 模型选择与训练
        • 2.1.3 模型评估与优化
      • 2.2 用户推荐
        • 2.2.1 数据预处理
        • 2.2.2 模型选择与训练
        • 2.2.3 模型评估与优化
      • 2.3 广告推荐
        • 2.3.1 数据预处理
        • 2.3.2 模型选择与训练
        • 2.3.3 模型评估与优化
    • 第三章:性能优化与前沿研究
      • 3.1 性能优化
        • 3.1.1 特征工程
        • 3.1.2 超参数调优
        • 3.1.3 模型集成
      • 3.2 前沿研究
        • 3.2.1 深度学习在推荐系统中的应用
        • 3.2.2 强化学习在推荐系统中的应用
        • 3.2.3 联邦学习与隐私保护
    • 结语

引言

随着电子商务的迅猛发展,推荐系统成为提升用户体验和增加销售额的重要工具。机器学习作为推荐系统的核心技术,通过分析用户行为和商品特征,提供个性化的推荐,提高用户满意度和平台黏性。本文将详细介绍机器学习在电商推荐系统中的应用,包括数据预处理、模型选择、模型训练和性能优化。通过具体的案例分析,展示机器学习技术在推荐系统中的实际应用,并提供相应的代码示例。
在这里插入图片描述

第一章:机器学习在电商推荐系统中的应用

1.1 数据预处理

在电商推荐系统中,数据预处理是机器学习模型成功的关键步骤。推荐系统的数据通常包括用户行为数据、商品特征数据和用户特征数据,需要进行清洗、归一化和特征工程。

1.1.1 数据清洗

数据清洗包括处理缺失值、异常值和重复数据。缺失值可以通过删除、插值或填充等方法处理;异常值可以通过统计分析和域知识进行识别和处理;重复数据可以通过去重操作去除。

import pandas as pd
import numpy as np

# 加载数据
data = pd.read_csv('ecommerce_data.csv')

# 处理缺失值
data.fillna(data.mean(), inplace=True)

# 处理异常值
data = data[(np.abs(data - data.mean()) <= (3 * data.std()))]

# 去除重复数据
data.drop_duplicates(inplace=True)
1.1.2 数据归一化

数据归一化可以消除不同特征之间的量纲差异,常见的方法包括标准化和最小最大缩放。

from sklearn.preprocessing import StandardScaler, MinMaxScaler

# 标准化
scaler = StandardScaler()
data_standardized = scaler.fit_transform(data)

# 最小最大缩放
scaler = MinMaxScaler()
data_normalized = scaler.fit_transform(data)
1.1.3 特征工程

特征工程包括特征选择、特征提取和特征构造。特征选择可以通过相关性分析和主成分分析(PCA)等方法进行;特征提取可以通过技术指标计算等方法进行;特征构造可以通过组合和变换现有特征生成新的特征。

from sklearn.decomposition import PCA

# 特征选择
correlation_matrix = data.corr()
selected_features = correlation_matrix.index[abs(correlation_matrix["purchase"]) > 0.5]

# 主成分分析
pca = PCA(n_components=5)
data_pca = pca.fit_transform(data[selected_features])

1.2 模型选择

在电商推荐系统中,常用的机器学习模型包括协同过滤、矩阵分解、基于内容的推荐和混合推荐等。不同模型适用于不同的任务和数据特征,需要根据具体应用场景进行选择。

1.2.1 协同过滤

协同过滤是推荐系统中最常用的方法之一,根据用户行为数据进行推荐。协同过滤分为基于用户的协同过滤和基于物品的协同过滤。

from sklearn.neighbors import NearestNeighbors

# 基于用户的协同过滤
user_item_matrix = data.pivot(index='user_id', columns='item_id', values='rating')
user_item_matrix.fillna(0, inplace=True)

model = NearestNeighbors(metric='cosine', algorithm='brute')
model.fit(user_item_matrix.values)

# 找到相似用户
user_id = 1
distances, indices = model.kneighbors(user_item_matrix.loc[user_id].values.reshape(1, -1), n_neighbors=5)
similar_users = user_item_matrix.index[indices.flatten()].tolist()
1.2.2 矩阵分解

矩阵分解通过将用户-物品矩阵分解为两个低维矩阵,捕捉用户和物品的潜在特征。常见的矩阵分解方法包括奇异值分解(SVD)和非负矩阵分解(NMF)。

from sklearn.decomposition import TruncatedSVD

# 矩阵分解
svd = TruncatedSVD(n_components=20)
user_item_matrix_svd = svd.fit_transform(user_item_matrix.values)
1.2.3 基于内容的推荐

基于内容的推荐通过分析物品的特征,推荐与用户历史行为相似的物品。

from sklearn.feature_extraction.text import TfidfVectorizer

# 计算物品特征的TF-IDF
tfidf = TfidfVectorizer(stop_words='english')
item_profiles = tfidf.fit_transform(data['item_description'])

# 推荐相似物品
item_id = 1
cosine_similarities = linear_kernel(item_profiles[item_id], item_profiles).flatten()
related_items_indices = cosine_similarities.argsort()[:-5:-1]
1.2.4 混合推荐

混合推荐结合协同过滤、矩阵分解和基于内容的推荐,利用各方法的优势,提供更精确的推荐。

from sklearn.ensemble import StackingClassifier

# 构建混合推荐模型
base_learners = [
    ('cf', NearestNeighbors(metric='cosine', algorithm='brute')),
    ('svd', TruncatedSVD(n_components=20)),
    ('content', TfidfVectorizer(stop_words='english'))
]
stacking_model = StackingClassifier(estimators=base_learners, final_estimator=LogisticRegression())

# 训练混合推荐模型
stacking_model.fit(X_train, y_train)

# 预测与评估
y_pred = stacking_model.predict(X_test)

在这里插入图片描述

1.3 模型训练

模型训练是机器学习的核心步骤,通过优化算法最小化损失函数,调整模型参数,使模型在训练数据上表现良好。常见的优化算法包括梯度下降、随机梯度下降和Adam优化器等。

1.3.1 梯度下降

梯度下降通过计算损失函数对模型参数的导数,逐步调整参数,使损失函数最小化。

import numpy as np

# 定义损失函数
def loss_function(y_true, y_pred):
    return np.mean((y_true - y_pred) ** 2)

# 梯度下降优化
def gradient_descent(X, y, learning_rate=0.01, epochs=1000):
    m, n = X.shape
    theta = np.zeros(n)
    for epoch in range(epochs):
        gradient = (1/m) * X.T.dot(X.dot(theta) - y)
        theta -= learning_rate * gradient
    return theta

# 训练模型
theta = gradient_descent(X_train, y_train)
1.3.2 随机梯度下降

随机梯度下降在每次迭代中使用一个样本进行参数更新,具有较快的收敛速度和更好的泛化能力。

def stochastic_gradient_descent(X, y, learning_rate=0.01, epochs=1000):
    m, n = X.shape
    theta = np.zeros(n)
    for epoch in range(epochs):
        for i in range(m):
            gradient = X[i].dot(theta) - y[i]
            theta -= learning_rate * gradient * X[i]
    return theta

# 训练模型
theta = stochastic_gradient_descent(X_train, y_train)
1.3.3 Adam优化器

Adam优化器结合了动量和自适应学习率的优点,能够快速有效地优化模型参数。

from keras.optimizers import Adam

# 编译模型
model.compile(optimizer=Adam(learning_rate=0.001), loss='binary_crossentropy', metrics=['accuracy'])

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

·

1.4 模型评估与性能优化

模型评估是衡量模型在测试数据上的表现,通过计算模型的准确率、召回率、F1-score等指标,评估模型的性能。性能优化包括调整超参数、增加数据量和模型集成等方法。

1.4.1 模型评估指标

常见的模型评估指标包括准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1-score等。

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

# 计算评估指标
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)

print(f'Accuracy: {accuracy}')
print(f'Precision: {precision}')
print(f'Recall: {recall}')
print(f'F1-score: {f1}')
1.4.2 超参数调优

通过网格搜索(Grid Search)和随机搜索(Random Search)等方法,对模型的超参数进行调优,找到

最优的参数组合。

from sklearn.model_selection import GridSearchCV

# 定义超参数网格
param_grid = {
    'n_neighbors': [3, 5, 7],
    'metric': ['cosine', 'euclidean']
}

# 网格搜索
grid_search = GridSearchCV(estimator=NearestNeighbors(), param_grid=param_grid, cv=5, scoring='accuracy')
grid_search.fit(X_train, y_train)

# 输出最优参数
best_params = grid_search.best_params_
print(f'Best parameters: {best_params}')

# 使用最优参数训练模型
model = NearestNeighbors(**best_params)
model.fit(X_train, y_train)

# 预测与评估
y_pred = model.predict(X_test)
1.4.3 增加数据量

通过数据增强和采样技术,增加训练数据量,提高模型的泛化能力和预测性能。

from imblearn.over_sampling import SMOTE

# 数据增强
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X_train, y_train)

# 训练模型
model.fit(X_resampled, y_resampled)

# 预测与评估
y_pred = model.predict(X_test)
1.4.4 模型集成

通过模型集成的方法,将多个模型的预测结果进行组合,提高模型的稳定性和预测精度。常见的模型集成方法包括Bagging、Boosting和Stacking等。

from sklearn.ensemble import VotingClassifier

# 构建模型集成
ensemble_model = VotingClassifier(estimators=[
    ('cf', NearestNeighbors(metric='cosine', algorithm='brute')),
    ('svd', TruncatedSVD(n_components=20)),
    ('content', TfidfVectorizer(stop_words='english'))
], voting='soft')

# 训练集成模型
ensemble_model.fit(X_train, y_train)

# 预测与评估
y_pred = ensemble_model.predict(X_test)

在这里插入图片描述

第二章:推荐系统的具体案例分析

2.1 商品推荐

商品推荐是电商平台中最常见的推荐系统应用,通过分析用户行为数据,推荐用户可能感兴趣的商品。以下是商品推荐的具体案例分析。

2.1.1 数据预处理

首先,对商品推荐数据集进行预处理,包括数据清洗、归一化和特征工程。

# 加载商品推荐数据集
data = pd.read_csv('item_recommendation.csv')

# 数据清洗
data.fillna(data.mean(), inplace=True)
data = data[(np.abs(data - data.mean()) <= (3 * data.std()))]
data.drop_duplicates(inplace=True)

# 数据归一化
scaler = StandardScaler()
data_normalized = scaler.fit_transform(data)

# 特征选择
correlation_matrix = data.corr()
selected_features = correlation_matrix.index[abs(correlation_matrix["rating"]) > 0.1]

# 主成分分析
pca = PCA(n_components=5)
data_pca = pca.fit_transform(data[selected_features])

# 数据分割
X = data_pca
y = data["rating"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
2.1.2 模型选择与训练

选择合适的模型进行训练,这里以矩阵分解为例。

# 训练矩阵分解模型
svd = TruncatedSVD(n_components=20)
X_train_svd = svd.fit_transform(X_train)
X_test_svd = svd.transform(X_test)

# 使用线性回归进行预测
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train_svd, y_train)

# 预测与评估
y_pred = model.predict(X_test_svd)
2.1.3 模型评估与优化

评估模型的性能,并进行超参数调优和数据增强。

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

print(f'Accuracy: {accuracy}')
print(f'Precision: {precision}')
print(f'Recall: {recall}')
print(f'F1-score: {f1}')

# 超参数调优
param_grid = {
    'n_components': [10, 20, 30],
    'algorithm': ['randomized', 'arpack']
}
grid_search = GridSearchCV(estimator=TruncatedSVD(), param_grid=param_grid, cv=5, scoring='accuracy')
grid_search.fit(X_train, y_train)
best_params = grid_search.best_params_
print(f'Best parameters: {best_params}')

# 使用最优参数训练模型
svd = TruncatedSVD(**best_params)
X_train_svd = svd.fit_transform(X_train)
X_test_svd = svd.transform(X_test)
model = LinearRegression()
model.fit(X_train_svd, y_train)

# 数据增强
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X_train_svd, y_train)
model.fit(X_resampled, y_resampled)

# 预测与评估
y_pred = model.predict(X_test_svd)
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)

print(f'Optimized Accuracy: {accuracy}')
print(f'Optimized Precision: {precision}')
print(f'Optimized Recall: {recall}')
print(f'Optimized F1-score: {f1}')

2.2 用户推荐

用户推荐通过分析用户特征和行为数据,推荐潜在的感兴趣用户,提高用户互动和平台黏性。以下是用户推荐的具体案例分析。

2.2.1 数据预处理
# 加载用户推荐数据集
data = pd.read_csv('user_recommendation.csv')

# 数据清洗
data.fillna(data.mean(), inplace=True)
data = data[(np.abs(data - data.mean()) <= (3 * data.std()))]
data.drop_duplicates(inplace=True)

# 数据归一化
scaler = StandardScaler()
data_normalized = scaler.fit_transform(data)

# 特征选择
correlation_matrix = data.corr()
selected_features = correlation_matrix.index[abs(correlation_matrix["interaction"]) > 0.1]

# 主成分分析
pca = PCA(n_components=5)
data_pca = pca.fit_transform(data[selected_features])

# 数据分割
X = data_pca
y = data["interaction"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
2.2.2 模型选择与训练

选择合适的模型进行训练,这里以基于内容的推荐为例。

# 计算用户特征的TF-IDF
tfidf = TfidfVectorizer(stop_words='english')
user_profiles = tfidf.fit_transform(data['user_description'])

# 推荐相似用户
user_id = 1
cosine_similarities = linear_kernel(user_profiles[user_id], user_profiles).flatten()
related_users_indices = cosine_similarities.argsort()[:-5:-1]
2.2.3 模型评估与优化

评估模型的性能,并进行超参数调优和数据增强。

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

print(f'Accuracy: {accuracy}')
print(f'Precision: {precision}')
print(f'Recall: {recall}')
print(f'F1-score: {f1}')

# 超参数调优
param_grid = {
    'max_features': [5000, 10000, 20000],
    'ngram_range': [(1, 1), (1, 2)]
}
grid_search = GridSearchCV(estimator=TfidfVectorizer(), param_grid=param_grid, cv=5, scoring='accuracy')
grid_search.fit(X_train, y_train)
best_params = grid_search.best_params_
print(f'Best parameters: {best_params}')

# 使用最优参数训练模型
tfidf = TfidfVectorizer(**best_params)
user_profiles = tfidf.fit_transform(data['user_description'])

# 数据增强
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X_train, y_train)
model.fit(X_resampled, y_resampled)

# 预测与评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)

print(f'Optimized Accuracy: {accuracy}')
print(f'Optimized Precision: {precision}')
print(f'Optimized Recall: {recall}')
print(f'Optimized F1-score: {f1}')

2.3 广告推荐

广告推荐通过分析用户行为数据和

广告特征,推荐可能感兴趣的广告,提高广告点击率和转化率。以下是广告推荐的具体案例分析。

2.3.1 数据预处理
# 加载广告推荐数据集
data = pd.read_csv('ad_recommendation.csv')

# 数据清洗
data.fillna(data.mean(), inplace=True)
data = data[(np.abs(data - data.mean()) <= (3 * data.std()))]
data.drop_duplicates(inplace=True)

# 数据归一化
scaler = StandardScaler()
data_normalized = scaler.fit_transform(data)

# 特征选择
correlation_matrix = data.corr()
selected_features = correlation_matrix.index[abs(correlation_matrix["click"]) > 0.1]

# 主成分分析
pca = PCA(n_components=5)
data_pca = pca.fit_transform(data[selected_features])

# 数据分割
X = data_pca
y = data["click"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
2.3.2 模型选择与训练

选择合适的模型进行训练,这里以随机森林为例。

# 训练随机森林模型
model = RandomForestClassifier()
model.fit(X_train, y_train)

# 预测与评估
y_pred = model.predict(X_test)
2.3.3 模型评估与优化

评估模型的性能,并进行超参数调优和数据增强。

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

print(f'Accuracy: {accuracy}')
print(f'Precision: {precision}')
print(f'Recall: {recall}')
print(f'F1-score: {f1}')

# 超参数调优
param_grid = {
    'n_estimators': [50, 100, 150],
    'max_depth': [3, 5, 7, 10],
    'min_samples_split': [2, 5, 10]
}
grid_search = GridSearchCV(estimator=RandomForestClassifier(), param_grid=param_grid, cv=5, scoring='accuracy')
grid_search.fit(X_train, y_train)
best_params = grid_search.best_params_
print(f'Best parameters: {best_params}')

# 使用最优参数训练模型
model = RandomForestClassifier(**best_params)
model.fit(X_train, y_train)

# 数据增强
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X_train, y_train)
model.fit(X_resampled, y_resampled)

# 预测与评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)

print(f'Optimized Accuracy: {accuracy}')
print(f'Optimized Precision: {precision}')
print(f'Optimized Recall: {recall}')
print(f'Optimized F1-score: {f1}')

在这里插入图片描述

第三章:性能优化与前沿研究

3.1 性能优化

3.1.1 特征工程

通过特征选择、特征提取和特征构造,优化模型的输入,提高模型的性能。

from sklearn.feature_selection import SelectKBest, f_classif

# 特征选择
selector = SelectKBest(score_func=f_classif, k=10)
X_selected = selector.fit_transform(X, y)
3.1.2 超参数调优

通过网格搜索和随机搜索,找到模型的最优超参数组合。

from sklearn.model_selection import RandomizedSearchCV

# 随机搜索
param_dist = {
    'n_estimators': [50, 100, 150],
    'max_depth': [3, 5, 7, 10],
    'min_samples_split': [2, 5, 10]
}
random_search = RandomizedSearchCV(estimator=RandomForestClassifier(), param_distributions=param_dist, n_iter=10, cv=5, scoring='accuracy')
random_search.fit(X_train, y_train)
best_params = random_search.best_params_
print(f'Best parameters: {best_params}')

# 使用最优参数训练模型
model = RandomForestClassifier(**best_params)
model.fit(X_train, y_train)

# 预测与评估
y_pred = model.predict(X_test)
3.1.3 模型集成

通过模型集成,提高模型的稳定性和预测精度。

from sklearn.ensemble import StackingClassifier

# 构建模型集成
stacking_model = StackingClassifier(estimators=[
    ('lr', LogisticRegression()),
    ('dt', DecisionTreeClassifier()),
    ('rf', RandomForestClassifier())
], final_estimator=LogisticRegression())

# 训练集成模型
stacking_model.fit(X_train, y_train)

# 预测与评估
y_pred = stacking_model.predict(X_test)

3.2 前沿研究

3.2.1 深度学习在推荐系统中的应用

深度学习在推荐系统中的应用包括神经协同过滤、深度矩阵分解和神经网络推荐等。

3.2.2 强化学习在推荐系统中的应用

强化学习通过与环境的交互,不断优化推荐策略,在动态推荐和实时推荐中具有广泛的应用前景。

3.2.3 联邦学习与隐私保护

联邦学习通过在不交换数据的情况下进行联合建模,保护用户数据隐私,提高推荐系统的安全性和公平性。

结语

机器学习作为电商推荐系统的重要技术,已经在多个应用场景中取得了显著的成果。通过对数据的深入挖掘和模型的不断优化,机器学习技术将在推荐系统中发挥更大的作用,提升用户体验和平台效益。
在这里插入图片描述

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

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

相关文章

Kubernetes 离线安装的坑我采了

Kubernetes 离线安装的坑我采了 一、Error from server: Get "https://xx.xx.xx.xx:10250/containerLogs/kube-system/calico-node-8dnvs/calico-node": tls: failed to verify certificate: x509: certificate signed by unknown authority二、calico 或 pod 启动正…

目标检测入门:2.使用预训练的卷积神经网络

目录 源码下载 一、ResNet&#xff08;Deep Residual Network&#xff0c;深度残差网络&#xff09; 1.残差结构 ​编辑 2.ResNet网络结构 3.pytorch搭建ResNet 二、CIFAR-10分类&#xff1a;ResNet预训练权重的迁移学习实践 1.CIFAR-10数据集 2.ResNet18实现CIFAR-10分…

该文件没有与之关联的程序来执行该操作,请安装应用,若已经安装应用,请在‘默认应用设置’页面中创建关联。

作为一个喜欢折腾桌面外观的人,我发现桌面上的快捷方式图标都有一个小箭头。于是,我按照网上的方法在注册表中删除了 IsShortcut 键。结果,重启后任务栏上的图标点击时出现了提示:“该文件没有与之关联的程序来执行该操作,请安装应用,若已经安装应用,请在‘默认应用设置…

Markdown+VSCODE实现最完美流畅写作体验

​下载VSCODE软件 安装插件 Markdown All in One &#xff1a;支持markdown的语言的&#xff1b; Markdown Preview Enhanced &#xff1a;观看写出来文档的效果&#xff1b; Paste IMage :添加图片的 Code Spell Checker检查英文单词错误&#xff1b; 基础语法 标题 #一个…

windows USB 设备驱动开发-USB描述符

配置描述符 USB 设备以一系列称为 USB 配置的接口的形式公开其功能。 每个接口由一个或多个备用设置组成&#xff0c;每个备用设置由一组端点组成。 配置描述符中描述了 USB 配置。 配置描述符包含有关配置及其接口、备用设置及其端点的信息。 每个接口描述符或备用设置均在 …

如何使用python网络爬虫批量获取公共资源数据教程?

原文链接&#xff1a;如何使用python网络爬虫批量获取公共资源数据教程&#xff1f;https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608240&idx4&snef281f66727afabfaae2066c6e92f792&chksmfa826657cdf5ef41571115328a09b9d34367d8b11415d5a5781dc4c…

Audio Processing Graphs 管理 Audio Units

Audio Processing Graphs 管理 Audio Units Audio Processing Graphs 管理 Audio UnitsAudio Processing Graph 拥有精确的 I/O UnitAudio Processing Graph 提供线程安全通过 graph "pull" 音频流 Audio Processing Graphs 管理 Audio Units audio processing grap…

Flutter——最详细(Badge)使用教程

背景 主要常用于组件叠加上圆点提示&#xff1b; 使用场景&#xff0c;消息数量提示&#xff0c;消息红点提示 属性作用backgroundColor红点背景色smallSize设置红点大小isLabelVisible是否显示offset设置红点位置alignment设置红点位置child设置底部组件 代码块 class Badge…

Go语言学习:每日一练3

Go语言学习&#xff1a;每日一练3 目录 Go语言学习&#xff1a;每日一练3方法接口继承类型断言 方法 方法是一类有接收者参数的函数。 接收者的类型定义和方法的声明必须在一个包里 type MyInt intfunc (m MyInt) Add(add int) int {return int(m) add } //OR func (m *MyInt)…

Python绘制动态股价曲线图并保存视频

用akshare库获取英伟达(股票代码&#xff1a;105.NVDA) 在2014年6月19日到2024年6月19日期间的股票的收盘价数据&#xff08;用后复权的收盘价&#xff09;&#xff1b; 基于后复权的收盘价数据&#xff0c;做一个动态股价曲线图&#xff0c;逐日显示英伟达股价的动态变化情况&…

Python28-7.1 降维算法之PCA主成分分析

降维算法是一类数据处理技术&#xff0c;主要用于将高维数据映射到低维空间中&#xff0c;从而减少数据的维度。降维不仅可以减少计算复杂度&#xff0c;提高算法性能&#xff0c;还可以帮助数据可视化。常见的降维算法包括主成分分析&#xff08;PCA&#xff09;、线性判别分析…

DP:背包问题----0/1背包问题

文章目录 &#x1f497;背包问题&#x1f49b;背包问题的变体&#x1f9e1;0/1 背包问题的数学定义&#x1f49a;解决背包问题的方法&#x1f499;例子 &#x1f497;解决背包问题的一般步骤&#xff1f;&#x1f497;例题&#x1f497;总结 ❤️❤️❤️❤️❤️博客主页&…

力扣Hot100-19删除链表的倒数第n个节点(双指针)

给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 3&#xff1a;…

UCOS-III 任务调度与就绪列表管理

01. 就绪优先级位图 在实时操作系统中&#xff0c;任务调度的效率至关重要。UCOS-III通过就绪优先级位图来快速查找最高优先级的就绪任务&#xff0c;从而实现高效调度。就绪优先级位图是一个按位表示的结构&#xff0c;每个位代表一个优先级&#xff0c;当某个优先级上有任务就…

本地Windows电脑 连接 Windows 服务器

Windows电脑 连接 Windows 服务器 方式1&#xff1a;直接搜索 在电脑的搜索栏&#xff0c;输入“远程桌面连接” 可以选择点击 “打开” 或者直接按 回车键 “Enter”&#xff0c;打开 远程桌面连接 方式2&#xff1a;运行框打开服务器连接 同时按&#xff1a;Windows徽标键…

分布式数据库HBase:从零开始了解列式存储

在接触过大量的传统关系型数据库后你可能会有一些新的问题: 无法整理成表格的海量数据该如何储存? 在数据非常稀疏的情况下也必须将数据存储成关系型数据库吗? 除了关系型数据库我们是否还有别的选择以应对Web2.0时代的海量数据? 如果你也曾经想到过这些问题, 那么HBase将是…

CTF之unseping

拿到题目看不懂&#xff1f;这是难度1&#xff1f;含泪去看大佬的wp&#xff0c;写下我的自传&#xff01; <?php highlig…

常微分方程算法之编程示例十-两点狄利克雷边值问题(理查德森外推法)

目录 一、研究问题 二、C++代码 三、计算结果 一、研究问题 本节我们采用理查德森法对示例八中的两点狄利克雷边值问题进行外推求解,相应的原理及推导思路请参考: 常微分方程算法之高精度算法(Richardson法+紧差分法)_richardson外推法-CSDN博客https://blog.csdn.net/…

【SVN的使用-源代码管理工具-SVN介绍-服务器的搭建 Objective-C语言】

一、首先,我们来介绍一下源代码管理工具 1.源代码管理工具的起源 为什么会出现源代码管理工具,是为了解决源代码开发的过程中出现的很多问题: 1)无法后悔:把项目关了,无法Command + Z后悔, 2)版本备份:非空间、费时间、写的名称最后自己都忘了干什么的了, 3)版本…

【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow

一、介绍 服装识别系统&#xff0c;本系统作为图像识别方面的一个典型应用&#xff0c;使用Python作为主要编程语言&#xff0c;并通过TensorFlow搭建ResNet50卷积神经算法网络模型&#xff0c;通过对18种不同的服装&#xff08;‘黑色连衣裙’, ‘黑色衬衫’, ‘黑色鞋子’, …