{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/machinelearning/pulls/comments/226802473","pull_request_review_id":166721681,"id":226802473,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNjgwMjQ3Mw==","diff_hunk":"@@ -0,0 +1,150 @@\n+﻿// Licensed to the .NET Foundation under one or more agreements.\n+// The .NET Foundation licenses this file to you under the MIT license.\n+// See the LICENSE file in the project root for more information.\n+\n+using Microsoft.ML.Runtime.Api;\n+using Microsoft.ML.Runtime.Data;\n+using Microsoft.ML.Runtime.Data.IO;\n+using Microsoft.ML.Runtime.Model;\n+using Microsoft.ML.Runtime.RunTests;\n+using Microsoft.ML.Runtime.Tools;\n+using Microsoft.ML.Transforms;\n+using System;\n+using System.IO;\n+using Xunit;\n+using Xunit.Abstractions;\n+\n+namespace Microsoft.ML.Tests.Transformers\n+{\n+    public class NAIndicatorTests : TestDataPipeBase\n+    {\n+        private class TestClass\n+        {\n+            public float A;\n+            public double B;\n+            [VectorType(2)]\n+            public float[] C;\n+            [VectorType(2)]\n+            public double[] D;\n+        }\n+\n+        public NAIndicatorTests(ITestOutputHelper output) : base(output)\n+        {\n+        }\n+\n+        [Fact]\n+        public void NAIndicatorWorkout()\n+        {\n+            var data = new[] {\n+                new TestClass() { A = 1, B = 3, C = new float[2]{ 1, 2 } , D = new double[2]{ 3,4} },\n+                new TestClass() { A = float.NaN, B = double.NaN, C = new float[2]{ float.NaN, float.NaN } , D = new double[2]{ double.NaN,double.NaN}},\n+                new TestClass() { A = float.NegativeInfinity, B = double.NegativeInfinity, C = new float[2]{ float.NegativeInfinity, float.NegativeInfinity } , D = new double[2]{ double.NegativeInfinity, double.NegativeInfinity}},\n+                new TestClass() { A = float.PositiveInfinity, B = double.PositiveInfinity, C = new float[2]{ float.PositiveInfinity, float.PositiveInfinity, } , D = new double[2]{  double.PositiveInfinity, double.PositiveInfinity}},\n+                new TestClass() { A = 2, B = 1, C = new float[2]{ 3, 4 } , D = new double[2]{ 5,6}},\n+            };\n+\n+            var dataView = ComponentCreation.CreateDataView(Env, data);\n+            var pipe = new NAIndicatorEstimator(Env,\n+                new (string input, string output)[] { (\"A\", \"NAA\"), (\"B\", \"NAB\"), (\"C\", \"NAC\"), (\"D\", \"NAD\") });\n+            TestEstimatorCore(pipe, dataView);\n+            Done();\n+        }\n+\n+        [Fact]\n+        public void TestCommandLine()\n+        {\n+            Assert.Equal(Maml.Main(new[] { @\"showschema loader=Text{col=A:R4:0}  xf=NAIndicator{col=B:A} in=f:\\2.txt\" }), (int)0);\n+        }\n+\n+        [Fact]\n+        public void TestOldSavingAndLoading()\n+        {\n+            var data = new[] {\n+                new TestClass() { A = 1, B = 3, C = new float[2]{ 1, 2 } , D = new double[2]{ 3,4} },\n+                new TestClass() { A = float.NaN, B = double.NaN, C = new float[2]{ float.NaN, float.NaN } , D = new double[2]{ double.NaN,double.NaN}},\n+                new TestClass() { A = float.NegativeInfinity, B = double.NegativeInfinity, C = new float[2]{ float.NegativeInfinity, float.NegativeInfinity } , D = new double[2]{ double.NegativeInfinity, double.NegativeInfinity}},\n+                new TestClass() { A = float.PositiveInfinity,  B = double.PositiveInfinity, C = new float[2]{ float.PositiveInfinity, float.PositiveInfinity, } , D = new double[2]{  double.PositiveInfinity, double.PositiveInfinity}},\n+                new TestClass() { A = 2, B = 1 , C = new float[2]{ 3, 4 } , D = new double[2]{ 5,6}},\n+            };\n+\n+            var dataView = ComponentCreation.CreateDataView(Env, data);\n+            var pipe = new NAIndicatorEstimator(Env,\n+                new (string input, string output)[] { (\"A\", \"NAA\"), (\"B\", \"NAB\"), (\"C\", \"NAC\"), (\"D\", \"NAD\") });\n+            var result = pipe.Fit(dataView).Transform(dataView);\n+            var resultRoles = new RoleMappedData(result);\n+            using (var ms = new MemoryStream())\n+            {\n+                TrainUtils.SaveModel(Env, Env.Start(\"saving\"), ms, null, resultRoles);\n+                ms.Position = 0;\n+                var loadedView = ModelFileUtils.LoadTransforms(Env, dataView, ms);\n+            }\n+        }\n+\n+        [Fact]\n+        public void NAIndicatorFileOutput()\n+        {\n+            string dataPath = GetDataPath(\"breast-cancer.txt\");\n+            var reader = TextLoader.CreateReader(Env, ctx => (\n+                ScalarFloat: ctx.LoadFloat(1),\n+                ScalarDouble: ctx.LoadDouble(1),\n+                VectorFloat: ctx.LoadFloat(1, 4),\n+                VectorDoulbe: ctx.LoadDouble(1, 4)\n+            ));\n+\n+            var data = reader.Read(new MultiFileSource(dataPath)).AsDynamic;\n+            var wrongCollection = new[] { new TestClass() { A = 1, B = 3, C = new float[2] { 1, 2 }, D = new double[2] { 3, 4 } } };\n+            var invalidData = ComponentCreation.CreateDataView(Env, wrongCollection);\n+            var est = new NAIndicatorEstimator(Env,\n+               new (string input, string output)[] { (\"ScalarFloat\", \"A\"), (\"ScalarDouble\", \"B\"), (\"VectorFloat\", \"C\"), (\"VectorDoulbe\", \"D\") });\n+\n+            TestEstimatorCore(est, data, invalidInput: invalidData);\n+            var outputPath = GetOutputPath(\"NAIndicator\", \"featurized.tsv\");\n+            using (var ch = Env.Start(\"save\"))\n+            {\n+                var saver = new TextSaver(Env, new TextSaver.Arguments { Silent = true });\n+                IDataView savedData = TakeFilter.Create(Env, est.Fit(data).Transform(data), 4);\n+                using (var fs = File.Create(outputPath))\n+                    DataSaverUtils.SaveDataView(ch, saver, savedData, fs, keepHidden: true);\n+            }\n+\n+            CheckEquality(\"NAIndicator\", \"featurized.tsv\");\n+            Done();\n+        }\n+\n+        [Fact]\n+        public void NAIndicatorMetadataTest()\n+        {\n+            var data = new[] {\n+                new TestClass() { A = 1, B = 3, C = new float[2]{ 1, 2 } , D = new double[2]{ 3,4} },\n+                new TestClass() { A = float.NaN, B = double.NaN, C = new float[2]{ float.NaN, float.NaN } , D = new double[2]{ double.NaN,double.NaN}},\n+                new TestClass() { A = float.NegativeInfinity, B = double.NegativeInfinity, C = new float[2]{ float.NegativeInfinity, float.NegativeInfinity } , D = new double[2]{ double.NegativeInfinity, double.NegativeInfinity}},\n+                new TestClass() { A = float.PositiveInfinity, B = double.PositiveInfinity, C = new float[2]{ float.PositiveInfinity, float.PositiveInfinity, } , D = new double[2]{  double.PositiveInfinity, double.PositiveInfinity}},\n+                new TestClass() { A = 2, B = 1, C = new float[2]{ 3, 4 } , D = new double[2]{ 5,6}},\n+            };\n+\n+            var dataView = ComponentCreation.CreateDataView(Env, data);\n+            var args = new NAIndicatorTransform.Arguments();\n+            args.Column = new NAIndicatorTransform.Column[] { new NAIndicatorTransform.Column() { Name = \"NAA\", Source = \"A\" } };","path":"test/Microsoft.ML.Tests/Transformers/NAIndicatorTests.cs","position":127,"original_position":127,"commit_id":"dd49b4b8668bd2c9229a838e47bd401b3cb6ce0b","original_commit_id":"dd49b4b8668bd2c9229a838e47bd401b3cb6ce0b","user":{"login":"artidoro","id":11949572,"node_id":"MDQ6VXNlcjExOTQ5NTcy","avatar_url":"https://avatars1.githubusercontent.com/u/11949572?v=4","gravatar_id":"","url":"https://api.github.com/users/artidoro","html_url":"https://github.com/artidoro","followers_url":"https://api.github.com/users/artidoro/followers","following_url":"https://api.github.com/users/artidoro/following{/other_user}","gists_url":"https://api.github.com/users/artidoro/gists{/gist_id}","starred_url":"https://api.github.com/users/artidoro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artidoro/subscriptions","organizations_url":"https://api.github.com/users/artidoro/orgs","repos_url":"https://api.github.com/users/artidoro/repos","events_url":"https://api.github.com/users/artidoro/events{/privacy}","received_events_url":"https://api.github.com/users/artidoro/received_events","type":"User","site_admin":false},"body":"Good point, I will change this!\r\n\r\n---\r\nIn reply to: [226800773](https://github.com/dotnet/machinelearning/pull/1217#discussion_r226800773) [](ancestors = 226800773)","created_at":"2018-10-19T23:12:10Z","updated_at":"2018-10-19T23:12:10Z","html_url":"https://github.com/dotnet/machinelearning/pull/1217#discussion_r226802473","pull_request_url":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/machinelearning/pulls/comments/226802473"},"html":{"href":"https://github.com/dotnet/machinelearning/pull/1217#discussion_r226802473"},"pull_request":{"href":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217"}},"in_reply_to_id":226800773},"pull_request":{"url":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217","id":221943931,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxOTQzOTMx","html_url":"https://github.com/dotnet/machinelearning/pull/1217","diff_url":"https://github.com/dotnet/machinelearning/pull/1217.diff","patch_url":"https://github.com/dotnet/machinelearning/pull/1217.patch","issue_url":"https://api.github.com/repos/dotnet/machinelearning/issues/1217","number":1217,"state":"open","locked":false,"title":"Conversion of NAIndicatorTransform to estimator with related pigstensions","user":{"login":"artidoro","id":11949572,"node_id":"MDQ6VXNlcjExOTQ5NTcy","avatar_url":"https://avatars1.githubusercontent.com/u/11949572?v=4","gravatar_id":"","url":"https://api.github.com/users/artidoro","html_url":"https://github.com/artidoro","followers_url":"https://api.github.com/users/artidoro/followers","following_url":"https://api.github.com/users/artidoro/following{/other_user}","gists_url":"https://api.github.com/users/artidoro/gists{/gist_id}","starred_url":"https://api.github.com/users/artidoro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artidoro/subscriptions","organizations_url":"https://api.github.com/users/artidoro/orgs","repos_url":"https://api.github.com/users/artidoro/repos","events_url":"https://api.github.com/users/artidoro/events{/privacy}","received_events_url":"https://api.github.com/users/artidoro/received_events","type":"User","site_admin":false},"body":"Ongoing work on converting the transformers to estimators (#754). This PR converts the NA Indicator transform to estimator and adds the relative pigsty extensions. \r\n","created_at":"2018-10-10T21:48:03Z","updated_at":"2018-10-19T23:12:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3a99ace6fdee5d90f0fc21d650f25dd8db095761","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":923215346,"node_id":"MDU6TGFiZWw5MjMyMTUzNDY=","url":"https://api.github.com/repos/dotnet/machinelearning/labels/api","name":"api","color":"f9d0c4","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217/commits","review_comments_url":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217/comments","review_comment_url":"https://api.github.com/repos/dotnet/machinelearning/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/machinelearning/issues/1217/comments","statuses_url":"https://api.github.com/repos/dotnet/machinelearning/statuses/dd49b4b8668bd2c9229a838e47bd401b3cb6ce0b","head":{"label":"artidoro:naindicator","ref":"naindicator","sha":"dd49b4b8668bd2c9229a838e47bd401b3cb6ce0b","user":{"login":"artidoro","id":11949572,"node_id":"MDQ6VXNlcjExOTQ5NTcy","avatar_url":"https://avatars1.githubusercontent.com/u/11949572?v=4","gravatar_id":"","url":"https://api.github.com/users/artidoro","html_url":"https://github.com/artidoro","followers_url":"https://api.github.com/users/artidoro/followers","following_url":"https://api.github.com/users/artidoro/following{/other_user}","gists_url":"https://api.github.com/users/artidoro/gists{/gist_id}","starred_url":"https://api.github.com/users/artidoro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artidoro/subscriptions","organizations_url":"https://api.github.com/users/artidoro/orgs","repos_url":"https://api.github.com/users/artidoro/repos","events_url":"https://api.github.com/users/artidoro/events{/privacy}","received_events_url":"https://api.github.com/users/artidoro/received_events","type":"User","site_admin":false},"repo":{"id":146929905,"node_id":"MDEwOlJlcG9zaXRvcnkxNDY5Mjk5MDU=","name":"machinelearning","full_name":"artidoro/machinelearning","private":false,"owner":{"login":"artidoro","id":11949572,"node_id":"MDQ6VXNlcjExOTQ5NTcy","avatar_url":"https://avatars1.githubusercontent.com/u/11949572?v=4","gravatar_id":"","url":"https://api.github.com/users/artidoro","html_url":"https://github.com/artidoro","followers_url":"https://api.github.com/users/artidoro/followers","following_url":"https://api.github.com/users/artidoro/following{/other_user}","gists_url":"https://api.github.com/users/artidoro/gists{/gist_id}","starred_url":"https://api.github.com/users/artidoro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artidoro/subscriptions","organizations_url":"https://api.github.com/users/artidoro/orgs","repos_url":"https://api.github.com/users/artidoro/repos","events_url":"https://api.github.com/users/artidoro/events{/privacy}","received_events_url":"https://api.github.com/users/artidoro/received_events","type":"User","site_admin":false},"html_url":"https://github.com/artidoro/machinelearning","description":"ML.NET is an open source and cross-platform machine learning framework for .NET.","fork":true,"url":"https://api.github.com/repos/artidoro/machinelearning","forks_url":"https://api.github.com/repos/artidoro/machinelearning/forks","keys_url":"https://api.github.com/repos/artidoro/machinelearning/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artidoro/machinelearning/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artidoro/machinelearning/teams","hooks_url":"https://api.github.com/repos/artidoro/machinelearning/hooks","issue_events_url":"https://api.github.com/repos/artidoro/machinelearning/issues/events{/number}","events_url":"https://api.github.com/repos/artidoro/machinelearning/events","assignees_url":"https://api.github.com/repos/artidoro/machinelearning/assignees{/user}","branches_url":"https://api.github.com/repos/artidoro/machinelearning/branches{/branch}","tags_url":"https://api.github.com/repos/artidoro/machinelearning/tags","blobs_url":"https://api.github.com/repos/artidoro/machinelearning/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artidoro/machinelearning/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artidoro/machinelearning/git/refs{/sha}","trees_url":"https://api.github.com/repos/artidoro/machinelearning/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artidoro/machinelearning/statuses/{sha}","languages_url":"https://api.github.com/repos/artidoro/machinelearning/languages","stargazers_url":"https://api.github.com/repos/artidoro/machinelearning/stargazers","contributors_url":"https://api.github.com/repos/artidoro/machinelearning/contributors","subscribers_url":"https://api.github.com/repos/artidoro/machinelearning/subscribers","subscription_url":"https://api.github.com/repos/artidoro/machinelearning/subscription","commits_url":"https://api.github.com/repos/artidoro/machinelearning/commits{/sha}","git_commits_url":"https://api.github.com/repos/artidoro/machinelearning/git/commits{/sha}","comments_url":"https://api.github.com/repos/artidoro/machinelearning/comments{/number}","issue_comment_url":"https://api.github.com/repos/artidoro/machinelearning/issues/comments{/number}","contents_url":"https://api.github.com/repos/artidoro/machinelearning/contents/{+path}","compare_url":"https://api.github.com/repos/artidoro/machinelearning/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artidoro/machinelearning/merges","archive_url":"https://api.github.com/repos/artidoro/machinelearning/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artidoro/machinelearning/downloads","issues_url":"https://api.github.com/repos/artidoro/machinelearning/issues{/number}","pulls_url":"https://api.github.com/repos/artidoro/machinelearning/pulls{/number}","milestones_url":"https://api.github.com/repos/artidoro/machinelearning/milestones{/number}","notifications_url":"https://api.github.com/repos/artidoro/machinelearning/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artidoro/machinelearning/labels{/name}","releases_url":"https://api.github.com/repos/artidoro/machinelearning/releases{/id}","deployments_url":"https://api.github.com/repos/artidoro/machinelearning/deployments","created_at":"2018-08-31T18:37:49Z","updated_at":"2018-10-18T22:16:20Z","pushed_at":"2018-10-19T02:45:06Z","git_url":"git://github.com/artidoro/machinelearning.git","ssh_url":"git@github.com:artidoro/machinelearning.git","clone_url":"https://github.com/artidoro/machinelearning.git","svn_url":"https://github.com/artidoro/machinelearning","homepage":"https://dot.net/ml","size":24863,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"a285f8d5db15cd8bf77f3c03763bce16642f902b","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":132021166,"node_id":"MDEwOlJlcG9zaXRvcnkxMzIwMjExNjY=","name":"machinelearning","full_name":"dotnet/machinelearning","private":false,"owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/dotnet/machinelearning","description":"ML.NET is an open source and cross-platform machine learning framework for .NET.","fork":false,"url":"https://api.github.com/repos/dotnet/machinelearning","forks_url":"https://api.github.com/repos/dotnet/machinelearning/forks","keys_url":"https://api.github.com/repos/dotnet/machinelearning/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/machinelearning/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/machinelearning/teams","hooks_url":"https://api.github.com/repos/dotnet/machinelearning/hooks","issue_events_url":"https://api.github.com/repos/dotnet/machinelearning/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/machinelearning/events","assignees_url":"https://api.github.com/repos/dotnet/machinelearning/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/machinelearning/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/machinelearning/tags","blobs_url":"https://api.github.com/repos/dotnet/machinelearning/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/machinelearning/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/machinelearning/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/machinelearning/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/machinelearning/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/machinelearning/languages","stargazers_url":"https://api.github.com/repos/dotnet/machinelearning/stargazers","contributors_url":"https://api.github.com/repos/dotnet/machinelearning/contributors","subscribers_url":"https://api.github.com/repos/dotnet/machinelearning/subscribers","subscription_url":"https://api.github.com/repos/dotnet/machinelearning/subscription","commits_url":"https://api.github.com/repos/dotnet/machinelearning/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/machinelearning/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/machinelearning/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/machinelearning/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/machinelearning/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/machinelearning/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/machinelearning/merges","archive_url":"https://api.github.com/repos/dotnet/machinelearning/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/machinelearning/downloads","issues_url":"https://api.github.com/repos/dotnet/machinelearning/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/machinelearning/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/machinelearning/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/machinelearning/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/machinelearning/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/machinelearning/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/machinelearning/deployments","created_at":"2018-05-03T16:20:42Z","updated_at":"2018-10-19T22:36:47Z","pushed_at":"2018-10-19T22:36:42Z","git_url":"git://github.com/dotnet/machinelearning.git","ssh_url":"git@github.com:dotnet/machinelearning.git","clone_url":"https://github.com/dotnet/machinelearning.git","svn_url":"https://github.com/dotnet/machinelearning","homepage":"https://dot.net/ml","size":24566,"stargazers_count":3955,"watchers_count":3955,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":702,"mirror_url":null,"archived":false,"open_issues_count":365,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":702,"open_issues":365,"watchers":3955,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217"},"html":{"href":"https://github.com/dotnet/machinelearning/pull/1217"},"issue":{"href":"https://api.github.com/repos/dotnet/machinelearning/issues/1217"},"comments":{"href":"https://api.github.com/repos/dotnet/machinelearning/issues/1217/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/machinelearning/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/machinelearning/pulls/1217/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/machinelearning/statuses/dd49b4b8668bd2c9229a838e47bd401b3cb6ce0b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"artidoro"}}