• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

ML.NET/ regresja

42 Warsaw Coding Academy
0 głosów
254 wizyt
pytanie zadane 16 stycznia 2020 w C# przez Piotr Jastrzębski Nowicjusz (160 p.)

Cześć, od paru dni bawię się w zapoznanie z ML.NET i mam pewien problem z zadankiem z regresją. Moim zdaniem powinno działać, ale przewiduje 0 ;/ jeśli ktoś widzi jakiś pomysł na rozwiązanie problemu, będę bardzo wdzięczny :)

using System;
using Microsoft.ML;
using Microsoft.ML.Data;

namespace ConsoleApp4
{
    class Program
    {
        public class Zawodnik
        {
            public float jedynka { get; set; }
            public float trojka { get; set; }

            public float piatka { get; set; }
        }

        public class Przewidywanie
        {
            [ColumnName("WYNIK")]
            public float jedynka { get; set; }

        }
        static void Main(string[] args)
        {
            MLContext mlContext = new MLContext();

            Zawodnik[] zawodnik =
            {
                new Zawodnik (){ piatka=155F, trojka=float.NaN,jedynka=175F },
                new Zawodnik (){ piatka=float.NaN, trojka=180,jedynka=195F },
                new Zawodnik (){ piatka=170F, trojka=180F,jedynka=200F },
                new Zawodnik (){ piatka=float.NaN, trojka=127.5F,jedynka=142.5F },
                new Zawodnik (){ piatka=605F, trojka=65F,jedynka=67.5F },//kobieta
                new Zawodnik (){ piatka=147.5F, trojka=160,jedynka=175F },
                new Zawodnik (){ piatka=62.5F, trojka=67.5F,jedynka=72.5F },//kobieta
                new Zawodnik (){ piatka=140F, trojka=float.NaN,jedynka=175.5F },
                new Zawodnik (){ piatka=float.NaN, trojka=117.5F,jedynka=135F },
                new Zawodnik (){ piatka=220F, trojka=230,jedynka=240.5F } };

            IDataView dane_treningowe = mlContext.Data.LoadFromEnumerable(zawodnik);
            var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "piatka", "trojka" }).Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "jedynka", maximumNumberOfIterations: 100));
            var model = pipeline.Fit(dane_treningowe);

            var proba = new Zawodnik() { piatka = 110F, trojka = 115F };
            var jedynka_proba = mlContext.Model.CreatePredictionEngine<Zawodnik, Przewidywanie>(model).Predict(proba);
            Console.WriteLine(jedynka_proba.jedynka);
            Console.WriteLine($"Przewidywana jedynka dla 5RM:{proba.piatka},3RM :{proba.trojka} to :{jedynka_proba.jedynka}");
            Console.ReadLine();


        }
    }
}

 

komentarz 18 stycznia 2020 przez Piotr Jastrzębski Nowicjusz (160 p.)
Należy zmienić nazwę kolumny "Wynik" na "Score", ponieważ nie jest zdefiniowane używanie własnych nazw kolumn :)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 332 wizyt
pytanie zadane 28 lutego 2019 w Matematyka, fizyka, logika przez Kamyyylo Początkujący (460 p.)
+1 głos
2 odpowiedzi 173 wizyt
pytanie zadane 14 listopada 2024 w C# przez BjoTrek Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 172 wizyt
pytanie zadane 4 marca 2024 w C# przez drewienko Nowicjusz (120 p.)

93,379 zapytań

142,380 odpowiedzi

322,535 komentarzy

62,737 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...