ML.NET 使用 MySQL 作为数据源
ML.NET using MySQL as Data source
我尝试将 MySQL 用于 ML.NET。
我为 VisualStudio 安装了 MySQL 驱动程序,它会显示在普通服务器资源管理器数据源中,但不会显示在 ML.NET 设置中?
有什么方法可以将 MySQL 与 ML.NET 一起使用吗?
没有 built-in 方法可以将 MySQL 与 ML.NET 一起使用;来自 the ML.NET Model Builder documentation:
The current preview of Model Builder can work with csv files, tsv files, and SQL Server databases. As we work toward stable release, we'll be adding support for more file formats and databases, including non-relational data stores.
但是,DatabaseSource
class 看起来相当通用,如果您编写一些自定义代码,它应该可以工作:
首先,安装 MySqlConnector 和 dotnet add package MySqlConnector
。
然后试试下面的代码:
var source = new DatabaseSource(MySqlConnectorFactory.Instance,
"server=myserver;user=myuser;password=pass",
"select `Text`, Label from table");
var ctx = new MLContext();
var loader = ctx.Data.CreateDatabaseLoader(
new("Text", DbType.String, 0),
new("Label", DbType.Boolean, 1));
var view = loader.Load(source);
我尝试将 MySQL 用于 ML.NET。 我为 VisualStudio 安装了 MySQL 驱动程序,它会显示在普通服务器资源管理器数据源中,但不会显示在 ML.NET 设置中?
有什么方法可以将 MySQL 与 ML.NET 一起使用吗?
没有 built-in 方法可以将 MySQL 与 ML.NET 一起使用;来自 the ML.NET Model Builder documentation:
The current preview of Model Builder can work with csv files, tsv files, and SQL Server databases. As we work toward stable release, we'll be adding support for more file formats and databases, including non-relational data stores.
但是,DatabaseSource
class 看起来相当通用,如果您编写一些自定义代码,它应该可以工作:
首先,安装 MySqlConnector 和 dotnet add package MySqlConnector
。
然后试试下面的代码:
var source = new DatabaseSource(MySqlConnectorFactory.Instance,
"server=myserver;user=myuser;password=pass",
"select `Text`, Label from table");
var ctx = new MLContext();
var loader = ctx.Data.CreateDatabaseLoader(
new("Text", DbType.String, 0),
new("Label", DbType.Boolean, 1));
var view = loader.Load(source);