<html> <p class=„printversionback-to-article printversion–hide“><a href=„https://www.heise.de/developer/meldung/Kuenstliche-Intelligenz-Microsofts-ML-NET-0-9-gibt-mehr-Einblick-in-die-Modelle-4271377.html“>zurück zum Artikel</a></p><figure class=„printversionlogo“><svg preserveaspectratio=„xMinYMin“ xmlns=„http://www.w3.org/2000/svg“ viewbox=„0 0 600 85“ width=„360“ height=„51“><path d=„M230.68,63.64V59.82h6V20.65h-6V16.9h24c8.4,0,14.86,2,19.28,6s6.68,9.75,6.68,17.33S278.4,53.59,274,57.64s-10.88,6-19.28,6Zm18.08-3.75h4.35c4.88,0,8.48-1.58,10.73-4.73s3.38-8.1,3.38-14.93-1.13-11.78-3.38-14.86-5.85-4.65-10.73-4.65h-4.35Zm73.76-11.33H299.63v.23c0,4.28.68,7.43,2,9.3s3.38,2.85,6.3,2.85a8.71,8.71,0,0,0,5.85-1.88,9.2,9.2,0,0,0,2.85-5.55h5.18a13.44,13.44,0,0,1-5.33,8.33c-2.7,1.8-6.38,2.7-11.26,2.7-5.78,0-10.2-1.5-13.28-4.58s-4.65-7.35-4.65-13.06c0-5.55,1.58-9.83,4.73-12.91s7.58-4.65,13.13-4.65,9.75,1.65,12.68,4.88S322.37,42.33,322.52,48.56Zm-12.16-3.68c0-4.35-.38-7.43-1.2-9.23A4.19,4.19,0,0,0,305,33a4.33,4.33,0,0,0-4.13,2.63c-.83,1.73-1.2,4.65-1.2,8.7V45h10.73Zm30.69,18.76L329.27,34.15H325.6V30.33h19.13v3.83h-4.05l8.4,21,8.4-21h-4.35V30.33h12.53v3.83h-3.83L350.06,63.64Zm62.2-15.08H380.37v.23c0,4.28.68,7.43,2,9.3s3.38,2.85,6.3,2.85a8.71,8.71,0,0,0,5.85-1.88,9.2,9.2,0,0,0,2.85-5.55h5.18a13.44,13.44,0,0,1-5.33,8.33c-2.7,1.8-6.38,2.7-11.26,2.7-5.78,0-10.2-1.5-13.28-4.58S368,52.61,368,46.91c0-5.55,1.58-9.83,4.73-12.91s7.58-4.65,13.13-4.65,9.75,1.65,12.68,4.88S403.11,42.33,403.26,48.56ZM391.1,44.88c0-4.35-.38-7.43-1.2-9.23A4.19,4.19,0,0,0,385.7,33a4.33,4.33,0,0,0-4.13,2.63c-.83,1.73-1.2,4.65-1.2,8.7V45H391.1Zm34.37,15h4.73v3.83H409.64V59.89h4.73V18.62h-4.73V14.87h15.83v45Zm29.11,4.65c-5.85,0-10.5-1.58-13.81-4.65s-5-7.43-5-12.91,1.65-9.83,5-12.91,8-4.65,13.81-4.65,10.5,1.58,13.81,4.65,5,7.43,5,12.91-1.65,9.75-5,12.91S460.44,64.54,454.58,64.54Zm0-3.53a5.05,5.05,0,0,0,5-3c1-2,1.43-5.7,1.43-11s-.45-9-1.43-11a5.05,5.05,0,0,0-5-3,5,5,0,0,0-5,3c-1,2-1.43,5.7-1.43,11s.45,9,1.43,11A4.88,4.88,0,0,0,454.58,61Zm28.89-26.86h-4.73V30.33h15.83v4.2a9.59,9.59,0,0,1,3.83-3.9,12.61,12.61,0,0,1,5.93-1.28c4.73,0,8.48,1.58,11.18,4.65s4.13,7.43,4.13,12.83-1.35,9.75-4.13,12.91-6.45,4.73-11.18,4.73a13,13,0,0,1-5.93-1.28,8.76,8.76,0,0,1-3.83-3.9V73.1h5.18v3.83h-21V73.1h4.73Zm11.11,11.18v3.3c0,3.9.53,6.68,1.5,8.4a5.17,5.17,0,0,0,4.8,2.63,4.89,4.89,0,0,0,4.8-2.78c.9-1.8,1.43-5.18,1.43-9.9s-.45-8.1-1.43-9.9a5,5,0,0,0-4.8-2.78,5.09,5.09,0,0,0-4.8,2.63C495,38.66,494.58,41.51,494.58,45.33Zm66.78,3.23H538.47v.23c0,4.28.68,7.43,2,9.3s3.38,2.85,6.3,2.85a8.71,8.71,0,0,0,5.85-1.88,9.2,9.2,0,0,0,2.85-5.55h5.18a13.44,13.44,0,0,1-5.33,8.33c-2.7,1.8-6.38,2.7-11.26,2.7-5.78,0-10.2-1.5-13.28-4.58s-4.65-7.35-4.65-13.06c0-5.55,1.58-9.83,4.73-12.91s7.58-4.65,13.13-4.65,9.75,1.65,12.68,4.88S561.13,42.33,561.36,48.56Zm-12.23-3.68c0-4.35-.38-7.43-1.2-9.23a4.19,4.19,0,0,0-4.2-2.63,4.33,4.33,0,0,0-4.13,2.63c-.83,1.73-1.2,4.65-1.2,8.7V45h10.73ZM600,30v9.9h-3.53a6.44,6.44,0,0,0-1.43-4,4.61,4.61,0,0,0-3.6-1.28,6.39,6.39,0,0,0-5.7,3.23c-1.43,2.1-2.1,5.1-2.1,8.85V59.82h6.08v3.83h-22V59.82h4.73V34.15h-5.1V30.33h16.21v5.93a11.9,11.9,0,0,1,4.28-5.18,12.15,12.15,0,0,1,6.6-1.65c.68,0,1.43.08,2.4.15S598.8,29.8,600,30Z“ transform=„translate(0 0)“ fill=„#661136“/><path d=„M99.72,27.6h4.39V42.76h.07a8.46,8.46,0,0,1,3.15-3.07,9.34,9.34,0,0,1,4.54-1.24c3.22,0,8.49,2,8.49,10.4V63.26H116V49.35c0-3.88-1.46-7.25-5.64-7.25a6.33,6.33,0,0,0-5.93,4.39,5.94,5.94,0,0,0-.29,2.12V63.26H99.72V27.6ZM130,51.91c.07,5.93,3.88,8.42,8.35,8.42a16.93,16.93,0,0,0,6.74-1.24l.73,3.15a18.82,18.82,0,0,1-8.05,1.54c-7.47,0-11.93-5-11.93-12.3s4.32-13.11,11.35-13.11c7.91,0,10,7,10,11.42a13.18,13.18,0,0,1-.15,2H130Zm12.89-3.22c.07-2.78-1.17-7.17-6.15-7.17-4.47,0-6.44,4.1-6.74,7.17Zm14.64-16.55a2.56,2.56,0,0,1-2.78,2.71,2.6,2.6,0,0,1-2.64-2.71,2.74,2.74,0,0,1,2.78-2.78A2.62,2.62,0,0,1,157.55,32.14Zm-4.91,31V38.95H157V63.18Zm11.13-4.47a11.26,11.26,0,0,0,5.78,1.76c3.22,0,4.69-1.61,4.69-3.59s-1.24-3.22-4.54-4.47c-4.39-1.54-6.44-4-6.44-6.88,0-3.88,3.15-7.1,8.35-7.1A11.71,11.71,0,0,1,177.54,40l-1.1,3.22a9.62,9.62,0,0,0-5-1.39c-2.64,0-4,1.54-4,3.29,0,2,1.46,2.93,4.61,4.1,4.17,1.61,6.37,3.73,6.37,7.32,0,4.25-3.29,7.32-9.08,7.32a14.37,14.37,0,0,1-6.81-1.68Zm22.92-6.81c.07,5.93,3.88,8.42,8.35,8.42a16.93,16.93,0,0,0,6.74-1.24l.73,3.15a18.82,18.82,0,0,1-8.05,1.54c-7.47,0-11.93-5-11.93-12.3s4.32-13.11,11.35-13.11c7.91,0,10,7,10,11.42a13.18,13.18,0,0,1-.15,2H186.69Zm12.89-3.22c.07-2.78-1.17-7.17-6.15-7.17-4.47,0-6.44,4.1-6.74,7.17ZM70.58,57,67.5,54.32a28,28,0,0,0,6.15-17.13c0-17.79-13.91-29.36-31.12-29.36-23.06,0-31.12,18.23-31.12,38.58,0,18,13.25,32.87,31.55,32.87A45.36,45.36,0,0,0,69,71a27.71,27.71,0,0,0,4.17-3.59L75,70.06A42.67,42.67,0,0,1,43.42,85C19.62,85.07,0,67.79,0,43.42,0,18.67,18.08,0,43,0c20.57,0,37.7,13,37.7,34.63C80.68,42.61,76.43,51.54,70.58,57ZM48.69,27.38,34.92,58.72c-1.17,2.64-2.93,5.71-6.22,5.71a4.12,4.12,0,0,1-4.32-4.17c0-1.9,1-3.66,1.68-5.34L41,20.87c1.17-2.56,2.56-4.47,5.49-4.47a4,4,0,0,1,4.17,4.17C50.66,23,49.64,25.26,48.69,27.38ZM59.6,46.49,54.1,58.86c-1.24,2.64-3,5.56-6.3,5.56a4,4,0,0,1-4.17-4.17A12.72,12.72,0,0,1,45.32,55L52,40c1.17-2.49,2.56-4.47,5.49-4.47a4,4,0,0,1,4.17,4.17A16,16,0,0,1,59.6,46.49Z“ transform=„translate(0 0)“ fill=„#888“/></svg></figure><figure class=„aufmacherbild“><img src=„https://heise.cloudimg.io/width/700/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg“ srcset=„https://heise.cloudimg.io/width/700/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg 700w, https://heise.cloudimg.io/width/1050/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg 1050w, https://heise.cloudimg.io/width/1200/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg 1200w“ sizes=„(min-width: 80em) 43.75em, (min-width: 64em) 66.66vw, 100vw“ alt=„Künstliche Intelligenz: ML.NET 0.9 gibt mehr Einblick in die Modelle“ class=„img-responsive“/><figcaption class=„akwa-caption“><p class=„source akwa-captionsource“>(Bild: Can Stock Photo)</p> </figcaption></figure><p><strong>Das auf .NET-Entwickler ausgerichtete Machine-Learning-Framework hat außerdem Vorlagen für Visual Studio an Bord.</strong></p> <p>Microsoft hat Version 0.9 von ML.NET herausgegeben. Das Open-Source-Framework, richtet sich an Entwickler, die Machine-Learning-Anwendungen (ML) mit .NET erstellen. Microsoft hatte es erstmals im <a href=„https://www.heise.de/meldung/ML-NET-Machine-Learning-Framework-fuer-NET-Entwickler-4047132.html“><strong>Rahmen der Build 2018 [1]</strong></a> vorgestellt. Das jüngste Release bringt vor allem Funktionen, die bei der Erklärbarkeit von ML-Modellen helfen. Außerdem gibt es nun Vorlagen für Visual Studio und eine Anbindung an CUDA 10 für die Transformation von ONNX-Modellen (Open Neural Network Exchange).</p> <div class=„inread“/> <h3 class=„subheading“>Besseres Verständnis für die Modelle</h3> <p>Das aktuelle Release bietet mit Feature Contribution Calculation (FCC) eine Methode zum Bewerten, welche Features, also messbare Eigenschaften beziehungsweise Charakteristika, den größten Einfluss auf die Vorhersagen mit einem ML-Modell haben. Entwickler und Data Scientists können die Information verwenden, um anhand historischer Daten die wichtigsten Features auszuwählen und so die Performance und Genauigkeit für künftige Berechnungen verbessern.</p> <p>Ein Beispiel für den <a href=„https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/FeatureContributionCalculationTransform.cs“ rel=„external noopener“ target=„_blank“><strong>Einsatz von FCC findet sich auf GitHub [2]</strong></a>. Darüber hinaus hat Microsoft die bereits im vorherigen Release eingeführten Methoden zur Erklärbarkeit durch Permutation Feature Importance (PFI) und Generalized Additive Models (GAM) erweitert. Zu <a href=„https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance/PfiBinaryClassificationExample.cs“ rel=„external noopener“ target=„_blank“><strong>PFI haben die Macher ebenfalls ein Beispiel auf GitHub [3]</strong></a> veröffentlicht.</p> <h3 class=„subheading“>Anbindung an CUDA und Visual Studio</h3> <p>Transformationen von Modellen im <a href=„https://onnx.ai/“ rel=„external noopener“ target=„_blank“><strong>ONNX-Format [4]</strong></a> lassen sich nun über die <a href=„https://github.com/Microsoft/onnxruntime“ rel=„external noopener“ target=„_blank“><strong>ONNX-Runtime-Bibliothek [5]</strong></a> mit CUDA 10 durchführen. Derzeit funktioniert die Anbindung nur für Windows 64-bit, für Linux und Mac soll sie in Kürze folgen.</p> <p>Außerdem existieren neuerdings zwei Visual-Studio-Vorlagen für ML.NET: Mit ML.NET Console Application lässt sich eine Beispielanwendung erstellen, und die ML.NET Model Library ist die Basis für eine Modellbibliothek, die Entwickler in ihre Anwendung einbinden können. Beide Vorlagen sind derzeit als Preview gekennzeichnet.</p> <figure class=„a-inline-image a-u-inline“ is=„a-grossbild“><img alt=„Die Visual-Studio-Vorlagen haben noch Preview-Status.“ src=„https://heise.cloudimg.io/width/1431/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/mlnet-vstudio-6aa38891579342b5.png“ srcset=„https://heise.cloudimg.io/width/2862/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/mlnet-vstudio-6aa38891579342b5.png 2x“ class=„c1“/><figcaption class=„a-caption“><p class=„a-captiontext“>Die Visual-Studio-Vorlagen haben noch Preview-Status.</p> <p class=„a-captionsource“>(Bild: Microsoft)</p> </figcaption></figure><p>Darüber hinaus gibt es einige Erweiterungen der API. So lassen sich nun für die <em>TextLoader</em>-Klasse die Attribute und Spalten optional über eine separate Klasse definieren, die das Datenmodell beschreibt, wie folgendes Codebeispiel aus dem MSDN-Blog zeigt:</p> <pre class=„rtetx–listing“>… Your code in your class…<br/>var mlContext = new MLContext();<br/> Read the data into a data view.<br/>var dataView =<br/> mlContext.Data.ReadFromTextFile<InspectedRow>(dataPath, <br/> hasHeader: true);<br/> The data model. This type will be used from multiple code. <br/>private class InspectedRow<br/>{<br/> [LoadColumn(0)]<br/> public bool IsOver50K { get; set; }<br/> [LoadColumn(1)]<br/> public string Workclass { get; set; }<br/>}</pre> <p>Weitere Neuerungen wie der Einsatz von ML.NET in Windows-Nano-Containern <a href=„https://blogs.msdn.microsoft.com/dotnet/2019/01/10/announcing-ml-net-0-9-machine-learning-for-net/“ rel=„external noopener“ target=„_blank“><strong>lassen sich dem MSDN-Blog entnehmen [6]</strong></a>. Der <a href=„https://github.com/dotnet/machinelearning“ rel=„external noopener“ target=„_blank“><strong>Sourcecode zu ML.NET ist auf GitHub zu finden [7]</strong></a>. Ein <a href=„https://dotnet.microsoft.com/learn/machinelearning-ai/ml-dotnet-get-started-tutorial“ rel=„external noopener“ target=„_blank“><strong>Tutorial hilft beim Einstieg [8]</strong></a> in das Framework. ()<br class=„clear“/></p> <hr/><p><strong>URL dieses Artikels:</strong><br/><small><code>http://www.heise.de/-4271377</code></small></p> <p><strong>Links in diesem Artikel:</strong><br/><small><code><strong>[1]</strong> https://www.heise.de/meldung/ML-NET-Machine-Learning-Framework-fuer-NET-Entwickler-4047132.html</code></small><br/><small><code><strong>[2]</strong> https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/FeatureContributionCalculationTransform.cs</code></small><br/><small><code><strong>[3]</strong> https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance/PfiBinaryClassificationExample.cs</code></small><br/><small><code><strong>[4]</strong> https://onnx.ai/</code></small><br/><small><code><strong>[5]</strong> https://github.com/Microsoft/onnxruntime</code></small><br/><small><code><strong>[6]</strong> https://blogs.msdn.microsoft.com/dotnet/2019/01/10/announcing-ml-net-0-9-machine-learning-for-net/</code></small><br/><small><code><strong>[7]</strong> https://github.com/dotnet/machinelearning</code></small><br/><small><code><strong>[8]</strong> https://dotnet.microsoft.com/learn/machinelearning-ai/ml-dotnet-get-started-tutorial</code></small><br/><small><code><strong>[9]</strong> mailto:rme@ct.de</code></small><br/></p> <p class=„printversion__copyright“><em>Copyright © 2019 Heise Medien</em></p> </html>