AI/ML.NET
ML.NET MSSQL 연동 [3]
Urong
2020. 11. 23. 18:21
728x90
앞 포스트에 이어서
일단 간단하게 폼을 하나 만들고
입력, 출력 클래스를 만들어주고
public class Data
{
public float A { get; set; }
public float Target { get; set; }
}
public class Prediction
{
[ColumnName("Target")]
public float Target { get; set; }
}
버튼에 이벤트를 주었다.
private void button1_Click(object sender, EventArgs e)
{
try
{
//Import or create training data
MLContext mlContext = new MLContext();
DatabaseLoader loader = mlContext.Data.CreateDatabaseLoader<Data>();
string connectionString = @"Data Source = localhost; Initial Catalog = aTEST; Persist Security Info = True; User ID = sa; Password = ********";
string query = "select CAST(Target as REAL) as Target, CAST(A as REAL) as A from Mltest";
DatabaseSource dbSource = new DatabaseSource(SqlClientFactory.Instance,
connectionString,
query);
IDataView dataView = loader.Load(dbSource);
//Specify data preparation and model training pipeline
var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "A" })
.Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "Target", maximumNumberOfIterations: 100));
// Train model
var model = pipeline.Fit(dataView);
// Make a prediction
// 입력값을 받는다.
var ik = input.Text;
var size = new Data() { A = ((float)Int32.Parse(ik)) };
var price = mlContext.Model.CreatePredictionEngine<Data, Prediction>(model).Predict(size);
// 예측값 출력.
output.Text = $"{ price.Target}";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
입력값을 넣고 버튼을 누르면 데이터를 가져와서 학습하고 모델만들고 다 했는데!!
0만 나온다.
되게 간단한건데 어디 순서가 잘못된거 같은데 지금 머리가 복잡해서 모르겠다.
728x90
반응형