多类分类是机器学习中的一种常见任务,在ML.NET中,多类分类被支持并提供了多种训练器以满足不同需求。以下从定义、应用场景到训练器及其特点分别进行详细描述。

多类分类(Multiclass Classification)是一种机器学习任务,旨在将输入数据分到多个预定义类别中的一个。它与二元分类(Binary Classification)的主要区别在于,二元分类只区分两个类别,而多类分类处理三个或更多个类别。 这意味着模型需要学习区分各种不同类别之间的细微差别,并准确地将输入数据分配到正确的类别。
多类分类的应用场景非常广泛,例如:
在 ML.NET 中,多类分类通过训练一个模型来实现。该模型接收输入特征,并输出一个预测的类别标签。 通过选择合适的算法和精心调整模型参数,可以构建高性能的多类分类模型,以解决各种实际问题。
二元分类(Binary Classification)是机器学习领域中最基础也最常见的一种监督学习任务。顾名思义,它旨在将数据实例划分为两个互斥的类别,通常用"0"或"1"、"是"或"否"、"正"或"负"等标签表示。

在实践中,二元分类有着广泛而重要的应用,以下是一些典型示例:
随着技术的发展,二元分类的应用范围不断拓展,以下是一些潜在的应用领域:
本文将介绍如何使用ML.NET框架中的随机梯度下降算法来预测房屋租金。我们将使用印度房屋租赁数据集,该数据集包含了约4700条房屋租赁信息,包括卧室数量、面积、位置等特征。
安装 .NET 6.0 或更高版本
**创建控制台项目并引用 **ML.NET
textdotnet add package Microsoft.ML

C#using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ML.Data;
namespace AppHousingRent
{
public class HouseRentData
{
[LoadColumn(0)]
public float CRIM { get; set; } // 城镇人均犯罪率
[LoadColumn(1)]
public float ZN { get; set; } // 占地面积超过25000平方呎的住宅用地比例
[LoadColumn(2)]
public float INDUS { get; set; } // 城镇非零售商业用地比例
[LoadColumn(3)]
public float CHAS { get; set; } // 是否临近查尔斯河
[LoadColumn(4)]
public float NOX { get; set; } // 一氧化氮浓度
[LoadColumn(5)]
public float RM { get; set; } // 住宅平均房间数
[LoadColumn(6)]
public float AGE { get; set; } // 1940年之前建成的自用房屋比例
[LoadColumn(7)]
public float DIS { get; set; } // 到波士顿五个就业中心的加权距离
[LoadColumn(8)]
public float RAD { get; set; } // 到径向公路的可达性指数
[LoadColumn(9)]
public float TAX { get; set; } // 每10000美元的全值财产税率
[LoadColumn(10)]
public float PTRATIO { get; set; } // 城镇师生比例
[LoadColumn(11)]
public float B { get; set; } // 1000(Bk - 0.63)^2,其中Bk为城镇中黑人的比例
[LoadColumn(12)]
public float LSTAT { get; set; } // 人口中地位较低者的比例
[LoadColumn(13)]
[ColumnName("Label")] // 将MEDV标记为Label列
public float MEDV { get; set; } // 自住房的平均房价,以千美元计
}
public class HouseRentPrediction
{
[ColumnName("Score")]
public float PredictedPrice { get; set; }
}
}
本文将结合最新的 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; }
}
}