本文将结合最新的 NBA 球员多赛季数据(目前已包括 2017 至 2022 赛季),使用 ML.NET 来预测球员未来的潜力与表现趋势。通过此示例,您可以了解如何在 C# 环境中加载并预处理数据、构建模型,以及评估模型的预测准确度。
以下示例将展示如何使用 ML.NET 在 C# 项目中对球员未来场均得分(Points Per Game,简称 PPG)进行回归预测。
安装 .NET 6.0 或更高版本
**创建控制台项目并引用 **ML.NET
textdotnet add package Microsoft.ML dotnet add package Microsoft.ML.FastTree

本文详细介绍如何使用ML.NET开发一个产品销售预测系统,实现对2024年销售量和收入的预测。该系统使用时间序列分析方法,基于历史数据进行未来销售趋势的预测。
C#using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ML.Data;
namespace App16
{
/// <summary>
/// 销售数据模型类
/// </summary>
public class SalesData
{
// 日期
[LoadColumn(0)]
public string Date { get; set; }
// 产品1的销售数量
[LoadColumn(1)]
public float QP1 { get; set; }
// 产品2的销售数量
[LoadColumn(2)]
public float QP2 { get; set; }
// 产品3的销售数量
[LoadColumn(3)]
public float QP3 { get; set; }
// 产品4的销售数量
[LoadColumn(4)]
public float QP4 { get; set; }
// 产品1的销售收入
[LoadColumn(5)]
public float SP1 { get; set; }
// 产品2的销售收入
[LoadColumn(6)]
public float SP2 { get; set; }
// 产品3的销售收入
[LoadColumn(7)]
public float SP3 { get; set; }
// 产品4的销售收入
[LoadColumn(8)]
public float SP4 { get; set; }
}
}
本项目使用ML.NET构建一个预测性维护系统,通过机器学习模型预测设备故障风险。
C#dotnet add package Microsoft.ML

本教程通过一个 C# 控制台应用示例,演示如何使用 ML.NET 对时序数据进行异常检测,帮助你在销售量等关键指标发生异常变化时及时捕捉峰值和更改点。
示例数据格式如下(仅节选):
| Date | Sales |
| 13-06-2010 | 5422 |
| 14-06-2010 | 7047 |
| 15-06-2010 | 1572 |
| 16-06-2010 | 5657 |
| 17-06-2010 | 3668 |
| 18-06-2010 | 2898 |
本文介绍如何在 .NET 6 环境下使用 ML.NET 检测时序数据的周期和异常,并以电话呼叫量数据 (phone.csv) 为例进行完整演示。本教程针对已有 C# 基础并希望学习 ML.NET 的读者。让我们开始吧!
检测时序中的异常通常涉及以下基本原理
时序数据中常见的需求之一就是检测“异常点”,例如在服务器访问量、传感器读数、电话呼叫量等数据中发现突然的异常值。这些异常点有可能是网络攻击、设备故障、或其他重要潜在事件。
ML.NET 提供了基于频谱残差 (SR) 和卷积神经网络 (CNN) 的 SR-CNN 算法,用于在时序中检测异常。此算法可以先帮我们自动检测周期,再评估剩余的部分是否存在异常点。