【C#生态园】发现C#中的数据科学魔法:6款不可错过的库详解
探索C#中的数据科学与机器学习:6个强大库解析
前言
在数据科学和机器学习领域,Python一直占据着主导地位,然而对于习惯使用C#编程语言的开发人员来说,寻找适用于C#的数据科学库一直是一个挑战。本文将介绍几个流行的用于C#的数据科学库,以及它们的核心功能、安装配置和API概览,帮助C#开发者更好地利用这些库进行数据分析和机器学习任务。
欢迎订阅专栏:C#生态园
文章目录
- 探索C#中的数据科学与机器学习:6个强大库解析
- 前言
- 1. MathNet.Numerics:一个用于C#的数据科学库
- 1.1 简介
- 1.1.1 核心功能
- 1.1.2 使用场景
- 1.2 安装与配置
- 1.2.1 安装指南
- 1.2.2 基本配置
- 1.3 API 概览
- 1.3.1 数学运算
- 1.3.2 统计分析
- 2. Accord.NET:一个用于C#的数据科学库
- 2.1 简介
- 2.1.1 核心功能
- 2.1.2 使用场景
- 2.2 安装与配置
- 2.2.1 安装方法
- 2.2.2 基本设置
- 2.3 API 概览
- 2.3.1 机器学习算法
- 2.3.2 图像处理功能
- 3. ML.NET:一个用于C#的机器学习库
- 3.1 简介
- 3.1.1 核心功能
- 3.1.2 使用场景
- 3.2 安装与配置
- 3.2.1 安装指南
- 3.2.2 初始设置
- 3.3 API 概览
- 3.3.1 模型训练
- 3.3.2 预测功能
- 4. Deedle:一个用于C#的数据探索和分析库
- 4.1 简介
- 4.1.1 核心功能
- 4.1.2 使用场景
- 4.2 安装与配置
- 4.2.1 安装指导
- 4.2.2 基本配置
- 4.3 API 概览
- 4.3.1 数据框操作
- 4.3.2 时间序列分析
- 5. CNTK:Microsoft Cognitive Toolkit,用于深度学习的开源工具包
- 5.1 简介
- 5.1.1 核心功能
- 5.1.2 使用场景
- 5.2 安装与配置
- 5.2.1 安装指南
- 5.2.2 基本设置
- 5.3 API 概览
- 5.3.1 神经网络构建
- 5.3.2 深度学习模型训练
- 6. NumSharp:一个用于C#的多维数组和数值计算库
- 6.1 简介
- 6.1.1 核心功能
- 6.1.2 使用场景
- 6.2 安装与配置
- 6.2.1 安装方法
- 6.2.2 基本设置
- 6.3 API 概览
- 6.3.1 多维数组操作
- 6.3.2 数值计算函数
- 总结
1. MathNet.Numerics:一个用于C#的数据科学库
1.1 简介
MathNet.Numerics 是一个开源的、高性能的数学与统计分析库,适用于 C# 和其他 .NET 平台。它提供了丰富的数学函数和算法,使得在 C# 中进行数据科学和统计分析变得更加便捷和高效。
1.1.1 核心功能
MathNet.Numerics 提供了包括线性代数、统计分析、插值、积分、优化等多个方面的数学函数和算法。它还支持复数、矩阵、向量等基本数学结构的操作,以及随机数生成、线性回归、傅里叶变换等高级功能。
1.1.2 使用场景
MathNet.Numerics 可以应用于数据科学、工程计算、物理建模、金融分析等领域。无论是进行数值计算、统计分析还是机器学习模型的实现,MathNet.Numerics 都可以发挥重要作用。
1.2 安装与配置
1.2.1 安装指南
使用 NuGet 包管理器可以轻松地将 MathNet.Numerics 集成到项目中。在 Visual Studio 中打开 NuGet 包管理器控制台,并执行以下命令来安装 MathNet.Numerics:
Install-Package MathNet.Numerics
1.2.2 基本配置
安装完成后,只需在需要使用 MathNet.Numerics 的文件中引入相应的命名空间即可开始使用其功能:
using MathNet.Numerics;
using MathNet.Numerics.LinearAlgebra;
// 其他所需的命名空间
1.3 API 概览
1.3.1 数学运算
MathNet.Numerics 提供了大量常用的数学运算函数,例如对数、三角函数、指数函数等。下面是一个简单的示例展示如何使用 MathNet.Numerics 进行数学运算:
using System;
using MathNet.Numerics;class Program
{static void Main(){// 计算正弦函数double result = Math.Sin(0.5);Console.WriteLine($"Sin(0.5) = {result}");// 计算自然对数double logResult = Math.Log(10);Console.WriteLine($"Log(10) = {logResult}");}
}
更多数学运算函数的详细信息可以参考 MathNet.Numerics 文档。
1.3.2 统计分析
除了基本数学运算外,MathNet.Numerics 还提供了丰富的统计分析功能,包括描述性统计、假设检验、回归分析等。下面是一个简单的示例展示如何使用 MathNet.Numerics 进行统计分析:
using System;
using MathNet.Numerics.Statistics;class Program
{static void Main(){// 创建样本数据double[] data = { 1.1, 2.2, 3.3, 4.4, 5.5 };// 计算均值和标准差double mean = data.Mean();double stdDev = data.StandardDeviation();Console.WriteLine($"Mean: {mean}, Standard Deviation: {stdDev}");}
}
更多统计分析函数的详细信息可以参考 MathNet.Numerics.Statistics 文档。
2. Accord.NET:一个用于C#的数据科学库
2.1 简介
Accord.NET是一个专为C#开发者设计的数据科学库,提供了丰富的机器学习算法和图像处理功能。它的设计目标是为.NET平台提供一个全面且易于使用的工具包,以支持数据科学和机器学习应用的开发。
2.1.1 核心功能
Accord.NET提供了许多核心功能,包括但不限于:
- 统计分析
- 人工智能
- 机器学习
- 图像处理
- 数字信号处理
2.1.2 使用场景
Accord.NET可以应用于各种场景,如:
- 数据挖掘
- 自然语言处理
- 计算机视觉
- 医学图像分析
- 金融预测
2.2 安装与配置
2.2.1 安装方法
Accord.NET可以通过NuGet包管理器来安装。在Visual Studio中,打开NuGet包管理器控制台并执行以下命令:
Install-Package Accord -Version 3.8.0
2.2.2 基本设置
安装完成后,在项目中引入Accord命名空间即可开始使用相关功能。
2.3 API 概览
2.3.1 机器学习算法
Accord.NET提供了众多经典的机器学习算法,例如决策树、K最近邻、线性回归等。下面是一个简单的示例,展示如何使用Accord.NET构建并训练一个决策树分类器:
// 创建决策树分类器
var tree = new DecisionTree();// 定义训练数据
double[][] inputs =
{new double[] {0, 0},new double[] {1, 1},new double[] {1, 0},new double[] {0, 1},
};
int[] outputs = { 0, 1, 1, 0 };// 训练分类器
tree.Learn(inputs, outputs);
官网链接:Accord.NET - Machine Learning
2.3.2 图像处理功能
Accord.NET也提供了丰富的图像处理功能,包括滤波、边缘检测、特征提取等。以下是一个简单的示例,展示如何使用Accord.NET对图像进行高斯模糊处理:
// 读取图像
Bitmap image = new Bitmap("input.jpg");// 创建滤波器并对图像进行处理
var filter = new GaussianBlur(4);
Bitmap blurredImage = filter.Apply(image);
官网链接:Accord.NET - Image Processing
3. ML.NET:一个用于C#的机器学习库
3.1 简介
ML.NET是一个开源的机器学习框架,可以在C#和F#中进行机器学习模型的训练、评估和预测。它是微软开发的一个跨平台的机器学习框架,可用于构建自定义机器学习模型。
3.1.1 核心功能
ML.NET提供了丰富的功能,包括数据处理、特征工程、模型训练和预测等。它还支持各种常见的机器学习任务,如分类、回归和聚类等。
3.1.2 使用场景
ML.NET适用于需要在C#环境下进行机器学习的场景,比如开发.NET应用程序中的预测功能、模式识别、推荐系统等。
3.2 安装与配置
3.2.1 安装指南
要使用ML.NET,首先需要安装相应的NuGet包。可以通过Visual Studio的NuGet包管理器搜索并安装“Microsoft.ML”包来添加ML.NET到项目中。
// 使用 NuGet 包管理器安装 Microsoft.ML
Install-Package Microsoft.ML
详细的安装指南可以查看ML.NET官方文档
3.2.2 初始设置
安装完毕后,在项目中引入using Microsoft.ML;语句来使用ML.NET相关的功能。
using Microsoft.ML;
3.3 API 概览
3.3.1 模型训练
ML.NET提供了丰富的API来进行模型训练,其中包括数据加载、数据预处理、特征工程和模型训练等步骤。以下是一个简单的线性回归模型训练示例:
// 创建一个ML.NET上下文
var mlContext = new MLContext();// 加载数据集
IDataView data = mlContext.Data.LoadFromTextFile<MyInputData>("./input.csv", hasHeader: true, separatorChar: ',');// 数据预处理
var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "Feature1", "Feature2" }).Append(mlContext.Transforms.NormalizeMinMax("Features")).Append(mlContext.Transforms.Conversion.MapValueToKey("Label"));// 训练模型
var model = pipeline.Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "Label", maximumNumberOfIterations: 100)).Fit(data);
3.3.2 预测功能
使用训练好的模型进行预测同样非常简单,ML.NET提供了便利的API来进行预测操作。以下是一个使用训练好的线性回归模型进行预测的示例:
// 准备预测数据
var sampleData = new MyInputData() { Feature1 = 0.2f, Feature2 = 0.5f };// 进行预测
var prediction = mlContext.Model.CreatePredictionEngine<MyInputData, MyOutputData>(model).Predict(sampleData);Console.WriteLine($"预测结果: {prediction.PredictedLabel}");
以上是一个简单的ML.NET使用示例,更多API的详细说明可以参考ML.NET官方文档
4. Deedle:一个用于C#的数据探索和分析库
4.1 简介
Deedle 是一个专为 C# 开发的数据探索和分析库,旨在提供丰富的数据操作和分析功能,使得 C# 开发者能够更轻松地进行数据处理、探索和分析工作。
4.1.1 核心功能
Deedle 提供了丰富的功能,包括但不限于:
- 强大的数据框操作
- 时间序列分析
- 数据可视化
- 数据清洗和预处理等
4.1.2 使用场景
Deedle 适用于需要在 C# 环境下进行数据分析和探索的场景,比如金融领域的量化分析、科学实验数据处理、企业数据报表生成等领域。
4.2 安装与配置
4.2.1 安装指导
使用 NuGet 包管理器可以很容易地安装 Deedle 库。在 Visual Studio 中,打开 NuGet 包管理器控制台,并执行以下命令:
Install-Package Deedle
4.2.2 基本配置
安装完成后,可以通过引入 Deedle 命名空间来开始使用该库:
using Deedle;
4.3 API 概览
4.3.1 数据框操作
Deedle 提供了丰富的数据框操作方法,例如创建数据框、合并数据框、筛选数据等。下面是一个简单的示例:
// 创建数据框
var data = Frame.FromColumns(new Series<int, string>[] {new Series<int, string>(new int[] { 1, 2, 3 }, new string[] { "A", "B", "C" }),new Series<int, string>(new int[] { 4, 5, 6 }, new string[] { "D", "E", "F" })
}, columnKeys: new string[] { "Col1", "Col2" });// 显示数据框
Console.WriteLine(data.Print());
官网链接:Deedle 数据框操作
4.3.2 时间序列分析
Deedle 提供了丰富的时间序列分析方法,能够方便地处理时间序列数据。下面是一个简单的示例:
// 创建时间序列
var series = new Series<int, double>(new int[] { 1, 2, 3 }, new double[] { 10.0, 20.0, 30.0 });// 计算均值
var mean = series.Mean();// 显示均值
Console.WriteLine(mean);
官网链接:Deedle 时间序列分析
5. CNTK:Microsoft Cognitive Toolkit,用于深度学习的开源工具包
5.1 简介
CNTK(Microsoft Cognitive Toolkit)是微软开发的一个用于深度学习的开源工具包。它提供了高效的计算性能和灵活的架构,适用于构建各种深度学习模型。
5.1.1 核心功能
CNTK的核心功能包括:
- 高性能计算:CNTK使用多GPU和多机器并行计算,以加快模型训练和推断。
- 灵活的架构:支持不同类型的神经网络,包括卷积神经网络(CNN)、循环神经网络(RNN)等。
- 分布式培训:可以在多台机器上分布式训练大规模模型。
- 跨平台支持:支持Windows、Linux等操作系统。
5.1.2 使用场景
CNTK适用于以下场景:
- 图像识别:用于识别和分类图像中的对象。
- 语音识别:通过深度学习技术实现自然语言处理和语音识别。
- 推荐系统:构建个性化推荐算法和模型。
5.2 安装与配置
安装CNTK可以参考官方文档提供的安装指南。基本设置主要涉及配置环境变量等内容。
5.2.1 安装指南
在Windows环境下,可以使用pip命令进行安装:
pip install cntk
在Linux环境下,可以按照官方文档提供的步骤进行安装。
5.2.2 基本设置
安装完成后,需要配置相应的环境变量,以便正确调用CNTK的库文件。
5.3 API 概览
CNTK提供了丰富的API,用于构建和训练深度学习模型。
5.3.1 神经网络构建
CNTK可以通过Python或C#等编程语言来构建神经网络。以下是一个使用Python的简单示例:
import cntk as C# 定义输入维度
input_dim = 784
# 定义输出维度
output_dim = 10# 定义输入变量
input_var = C.input_variable(input_dim)
# 定义输出变量
label_var = C.input_variable(output_dim)# 定义网络结构
hidden_layer = C.layers.Dense(100, activation=C.relu)(input_var)
output_layer = C.layers.Dense(output_dim, activation=None)(hidden_layer)# 定义损失函数
loss = C.cross_entropy_with_softmax(output_layer, label_var)# 其他网络设置和训练过程...
5.3.2 深度学习模型训练
CNTK支持通过反向传播算法进行深度学习模型的训练。以下是一个简单的C#示例代码:
using CNTK;// 定义输入维度
const int inputDim = 784;
// 定义输出维度
const int numOutputClasses = 10;// 定义输入变量
var inputVar = Variable.InputVariable(new int[] { inputDim }, DataType.Float);
// 定义标签变量
var labelVar = Variable.InputVariable(new int[] { numOutputClasses }, DataType.Float);// 定义网络结构
Function network = ...
// 定义损失函数
Function loss = CNTKLib.CrossEntropyWithSoftmax(network.Output, labelVar);
// 定义优化器
Trainer trainer = ...// 模型训练过程...
以上是
6. NumSharp:一个用于C#的多维数组和数值计算库
NumSharp 是一个用于 C# 的多维数组和数值计算库,它提供了丰富的数学函数和操作多维数组的功能。在数据科学和机器学习领域中,NumSharp 可以帮助开发人员进行高效的数值计算和数据处理。
6.1 简介
6.1.1 核心功能
NumSharp 提供了以下核心功能:
- 多维数组操作
- 数值计算函数
这些功能使得 NumSharp 成为 C# 中数据科学和机器学习任务的重要工具之一。
6.1.2 使用场景
NumSharp 可以广泛应用于以下领域:
- 数据分析与处理
- 机器学习模型的实现
- 数值计算
由于其强大的数值计算功能,NumSharp 在工程技术和科学计算等领域也有着广泛的应用。
6.2 安装与配置
6.2.1 安装方法
可以通过 NuGet 包管理器来安装 NumSharp 库,或者在 Visual Studio 中使用程序包管理控制台执行以下命令进行安装:
Install-Package NumSharp
6.2.2 基本设置
在使用 NumSharp 之前,需要将其引入项目中:
using NumSharp;
6.3 API 概览
6.3.1 多维数组操作
NumSharp 提供了丰富的多维数组操作方法,如创建数组、索引访问、切片、重塑等。以下是一个简单的示例,演示了如何创建一个二维数组并对其进行操作:
var nd = new NDArray(new int[,] {{1, 2}, {3, 4}});
Console.WriteLine(nd);
Console.WriteLine(nd[0, 1]); // 输出:2
更多关于多维数组的操作方法,可以参考 NumSharp 多维数组文档
6.3.2 数值计算函数
除了多维数组操作外,NumSharp 还提供了众多数值计算函数,如求和、均值、最大值、最小值等。下面是一个简单的示例,展示了如何使用 NumSharp 计算数组的均值:
var nd = new NDArray(new int[] {1, 2, 3, 4, 5});
Console.WriteLine(nd.mean()); // 输出:3.0
更多关于数值计算函数的详细信息,可以参考 NumSharp 数值计算文档
通过以上示例,我们可以看到 NumSharp 在 C# 中提供了丰富而强大的多维数组和数值计算功能,为数据科学和机器学习领域的开发人员提供了便利。
总结
本文介绍了六个用于C#的数据科学库,包括MathNet.Numerics、Accord.NET、ML.NET、Deedle、CNTK和NumSharp。这些库分别涵盖了数学运算、统计分析、机器学习算法、图像处理、模型训练、深度学习模型构建、多维数组操作和数值计算等领域。无论是进行数据探索和分析,还是进行复杂的机器学习任务,都能在这些库中找到相应的工具和支持。C#开发者可以根据自己的需求和项目特点选择合适的库,充分发挥数据科学和机器学习的能力。
相关文章:
【C#生态园】发现C#中的数据科学魔法:6款不可错过的库详解
探索C#中的数据科学与机器学习:6个强大库解析 前言 在数据科学和机器学习领域,Python一直占据着主导地位,然而对于习惯使用C#编程语言的开发人员来说,寻找适用于C#的数据科学库一直是一个挑战。本文将介绍几个流行的用于C#的数据…...
导入neo4j数据CSV文件及csv整理demo示例
Neo4j导入CSV文件(实体和关系)_neo4j导入csv关系-CSDN博客 https://blog.csdn.net/m0_69483514/article/details/131296060?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ER…...
bug | pycharm社区版无sciview解决办法
一个程序运行多个图,plt.show()一次只弹出一个独立窗口,必须关掉一个才能显示下一张图,想找sciview却发现找不到,本来以为是新版pycharm的问题,后来才发现是community版根本没有sciview…不想换专业版了,研…...
PL/SQL程序设计入门
PL/SQL程序设计 PL/SQL起步鼻祖:hello World语法分析声明部分举例 应用举例 PL/SQL 起步鼻祖:hello World 先举个例子,用PL/SQL打印输出hello world declarev_string varchar2(20); beginv_string:hello world;dbms_output.put_line(v_str…...
一、Numpy入门
Numpy入门 前言一、numpy简介二、Numpy的ndarray属性2.1. 直接用 .属性的方法实现2.2. 直接函数的方法实现 三、Numpy的ndarray的创建3.1. ndarray介绍3.2. 数组形式3.3. zeros()、ones() 、 empty()3.4. arange(),类似 python 的 range() ,创建一个一维…...
自动化测试框架设计核心理念——关键字驱动
很多人在接触自动化测试时,都会听到关键字驱动这样的一个概念,但是在研究时却有些不太清楚这种驱动模式的设计及实现到底该如何着手去做。 关键字驱动,作为一种自动化测试框架的设计形式,在很早的时候就已经有提及过了。它的基本…...
GO GIN SSE DEMO
文章目录 接口描述:1.1 /events/time - 时间流1.2 /events/numbers - 数字流 2. 用户管理接口2.1 /user/:id - 获取用户信息2.2 /user - 创建用户 项目结构1. main.go2. 创建 handlers/event_time.go3. 创建 handlers/event_number.go4. handlers/user.go5. 运行服务…...
GEE教程:1950-2023年ECMWF数据中积雪的长时序统计分析
目录 简介 数据 函数 millis() Arguments: Returns: Long 代码 结果 简介 1950-2023年ECMWF数据中积雪的长时序统计分析 数据 ECMWF/ERA5_LAND/DAILY_AGGR是由欧洲中期天气预报中心(ECMWF)提供的数据集。它是一个格网数据集,包含从ERA5-Land再分析数据集中得出的…...
【React Native】路由和导航
RN 中的路由是通过 React Navigation 组件来完成的 Stack 路由导航RN 中默认没有类似浏览器的 history 对象在 RN 中路由跳转之前,需要先将路由声明在 Stack 中<Stack.Navigator initialRouteNameDetails> <Stack.Screen nameDetails /> </Stack.N…...
Linux环境基础开发工具---vim
1.快速的介绍一下vim vim是一款多模式的编辑器,里面有很多子命令,来实现代码编写操作。 2.vim的模式 vim一共有三种模式:底行模式,命令模式,插入模式。 2.1vim模式之间的切换 2.2 谈论常见的模式---命令模式…...
python AssertionError: Torch not compiled with CUDA enabled
查看:torch import torch# 输出带CPU,表示torch是CPU版本的 print(ftorch的版本是:{torch.__version__}) # print(ftorch是否能使用cuda:{torch.cuda.is_available()}) 修改一下代码,将cuda改成cpu 最后运行正常&…...
Pandas的入门操作-Series对象
Pandas的数据结构 Series对象 class pandas.Series(dataNone, indexNone) data参数 含义:data是Series构造函数中最主要的参数,它用来指定要存储在Series中的数据。 数据类型:data可以是多种数据类型,例如: Python 列…...
自然语言处理系列六十八》搜索引擎项目实战》搜索引擎系统架构设计
注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十八搜索引擎项目实战》搜索引擎系统架构设计…...
H5依赖安装
依赖安装 git和sourceTree编辑器使用vscode下载nvm 和nodejs git和sourceTree 使用 ssh-keygen -t rsa 进行密钥获取 git下载地址:https://git-scm.com/ sourceTree下载地址:https://www.sourcetreeapp.com/ 编辑器使用vscode 最新版网址:…...
MatchRFG:引领MemeCoin潮流,探索无限增长潜力
Meme币无疑是本轮牛市最热闹的赛道,而围绕Meme币的讨论话题基本都集中在价格炒作上。似乎人们习惯性地认为,Meme币的创造和成长往往与真正的价值无关。热炒过后,价格能否通过共识转化为价值,也正是许多Meme币在热潮冷却后的主要成…...
2024/9/18 模型的存储与读取
一、模型的存储与读取 主要涉及到torch.save和torch.load函数 新建两个python文件: 1.在model_save文件中保存模型(方式一)和模型参数(方式二) 2.在model_load文件中读取模型(方式一)和模型参数并装载模型(方式二)...
在 fnOS上安装 KVM 虚拟化,并使用 Cockpit 网页管理虚拟机
在fnOS系统上安装 KVM 虚拟化,并使用 Cockpit 进行网页管理,可以按照以下步骤进行: 1. 安装 KVM虚拟化组件 首先,更新软件列表和系统包: sudo apt update && sudo apt upgrade -y 安装 KVM 及相关工具软件&…...
VUE实现刻度尺进度条
一、如下图所示效果: 运行后入下图所示效果: 实现原理是用div画图并动态改变进度, 二、div源码 <div style"width: 100%;"><div class"sdg_title" style"height: 35px;"><!--对话组[{{ dialo…...
ZYNQ FPGA自学笔记~点亮LED
一 ZYNQ FPGA简介 ZYNQ FPGA主要特点是包含了完整的ARM处理系统,内部包含了内存控制器和大量的外设,且可独立于可编程逻辑单元,下图中的ARM内核为 ARM Cortex™-A9,ZYNQ FPGA包含两大功能块,处理系统Processing System…...
攻击者如何在日常网络资源中隐藏恶意软件
近二十年来,安全 Web 网关 (SWG) 一直在监控网络流量,以检测恶意软件、阻止恶意网站并保护企业免受基于 Web 的威胁。 然而,攻击者已经找到了许多绕过这些防御措施的方法,SquareX的安全研究人员对此进行了记录。 最危险的策略之…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
