рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ
рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ Ml.NET рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗ рдЖрдпрд╛
рд╣реВрдВ ред рдЗрд╕рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдмрдврд╝ рдЧрдИ, рдФрд░ рдореИрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЭрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдЬрд╛рдирд╡рд░ рдерд╛ред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╣рдордиреЗ .NET рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реАрдирд┐рдпрд░ рд░рд┐рдЧреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рд░рд▓рддрдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ Accord.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП,
рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреЗ рдЕрдкреАрд▓ рдкрд░ рдЦреБрд▓реЗ рдбреЗрдЯрд╛ рд╕реЗ рдПрдХ рдЫреЛрдЯрд╛ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛рд░реНрдпрдХрд╛рд░реА рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк
рд╕реЗ рдореЙрд╕реНрдХреЛ рдХреЗ рдореЗрдпрд░ рдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдЕрджреНрдпрддрди рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж
, рд╣рдо рд╕рдмрд╕реЗ
рд╕рд░рд▓ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред Ml.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐ рдорд╛рд╣ рдХрд┐рддрдиреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рд╣рдо Ml.NET рдХреА рддреБрд▓рдирд╛ рдЕрдХреЙрд░реНрдб рд╕реЗ рдХрд░реЗрдВрдЧреЗред рдиреЗрдЯ рдФрд░ рдкрд╛рдпрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реАред
рдХреНрдпрд╛ рдЖрдк рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛ рдХреА рддрд╛рдХрдд рдФрд░ рд╢рдХреНрддрд┐ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдлрд┐рд░ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдкреАрдПрд╕ рд▓реЗрдЯ рдПрд╕.рдПрд╕. рд╕реЛрдмрдпрд╛рдирд┐рди, рд▓реЗрдЦ рд░рд╛рдЬрдиреАрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рдирд╣реАрдВ рдХрд╣реЗрдЧрд╛редрд╕рд╛рдордЧреНрд░реА:
рднрд╛рдЧ I: рдкрд░рд┐рдЪрдп рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛рднрд╛рдЧ II: C # рдХреЛрдб рд▓рд┐рдЦрдирд╛рднрд╛рдЧ III: рдирд┐рд╖реНрдХрд░реНрд╖рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рди рд╣реА рдореИрдВ рдореЙрд╕реНрдХреЛ рд╣реЙрд▓ рд╣реЙрд▓ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рд▓реЗрдЦ рдПрдХ рд╢реБрд░реБрдЖрддреА рд╕реЗ рд╢реБрд░реБрдЖрдд рддрдХ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕реАрдорд┐рдд рдЬреНрдЮрд╛рди рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛редрдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрдХреНрд░ рд╕реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╡реЗ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдорд╛рд╕реНрдХреЛ рдХреА рдХрд╛рд░реНрдпрдХрд╛рд░реА рд╢рд╛рдЦрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреА рдЕрдкреАрд▓ рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣рд▓ рдХрд┐рдП рдЧрдП рдореБрджреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ
рдкрд╛рдпрдерди рдФрд░
рдЕрдХреЙрд░реНрдб.рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред
рдЕрдиреНрдп рдЪрдХреНрд░ рд▓реЗрдЦ1. рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдиреЗрдВ:
2. рд╣рдо рдкрд╣рд▓реЗ рдХреМрд╢рд▓ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ
рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрддрд┐рд░реЗрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕рд╣рд┐рдд рд╕рднреА рд▓реЗрдЦ рд╕рд╛рдордЧреНрд░реА,
GitHub рдкрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рдЧреАрдерд╣рдм рдкрд░ рдбреЗрдЯрд╛ рд╕реАрдПрд╕рд╡реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 44 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╡реЗ рди рдХреЗрд╡рд▓ (рдФрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбреЗрдЯрд╛ рдХреЙрд▓рдо рдХрд╛ рдорддрд▓рдм рдирд┐рдореНрди рд╣реИ:
- num - рд░рд┐рдХреЙрд░реНрдб рдЗрдВрдбреЗрдХреНрд╕
- рд╡рд░реНрд╖ - рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рд╡рд░реНрд╖
- рдорд╛рд╣ - рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛ рдорд╣реАрдирд╛
- Total_appeals - рдкреНрд░рддрд┐ рдорд╛рд╣ рд╣рд┐рдЯреНрд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛
- рдЕрдкреАрд▓_рддреЛ_рдорд╛рдпреЛрд░ - рдореЗрдпрд░ рд╕реЗ рдЕрдкреАрд▓ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛
- res_positive- рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирд┐рд░реНрдгрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
- res_explained - рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛
- res_negative - рдирдХрд╛рд░рд╛рддреНрдордХ рдирд┐рд░реНрдгрдп рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛
- El_form_to_mayor - рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд░реВрдк рдореЗрдВ рдореЗрдпрд░ рд╕реЗ рдЕрдкреАрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛
- Pap_form_to_mayor - рдкреЗрдкрд░ рдкрд░ рдореЗрдпрд░ рд╕реЗ рдЕрдкреАрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛_10K_total_VAO ... to_10K_total_YUZAO - рдорд╛рд╕реНрдХреЛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЬрд┐рд▓реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐ 10,000 рдЬрдирд╕рдВрдЦреНрдпрд╛ рдкрд░ рдЕрдкреАрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛
- to_10K_mayor_VAO ... to_10K_mayor_YUZAO- рд╢рд╣рд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЬрд┐рд▓реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐ 10,000 рдЬрдирд╕рдВрдЦреНрдпрд╛ рдореЗрдпрд░ рдФрд░ рдорд╛рд╕реНрдХреЛ рд╕рд░рдХрд╛рд░ рд╕реЗ рдЕрдкреАрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛
рдореБрдЭреЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдФрд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдбреЗрдЯрд╛ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд╡рд┐рд╡реЗрдХ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореЙрд╕реНрдХреЛ рдореЗрдВ рд╕рд░рдХрд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рдЬрдирд╡рд░реА 2016 рд╕реЗ рдЕрдЧрд╕реНрдд 2019 рддрдХ рдкреВрд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╕рд┐рддрдВрдмрд░ рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдЧрд╛рдпрдм рд╣реИрдВ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 44 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреАред рдереЛрдбрд╝рд╛, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рд▓реЗрдЦ рдХреЗ рдирд╛рдпрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред
ML.NET рдлреНрд░реЗрдорд╡рд░реНрдХ - рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХрд╛ рдУрдкрди рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯред рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЬрд╡рд╛рдм рд╣реИред рдврд╛рдВрдЪрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╕рд░рд▓ рдкреНрд░рддрд┐рдЧрдорди рдФрд░ рд╡рд░реНрдЧреАрдХрд░рдг рд╕реЗ рд▓реЗрдХрд░ рдЧрд╣рди рд╕реАрдЦрдиреЗ рддрдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣реЗрдмрд░ рдХреЗ рд╕рд╛рдерд┐рдпреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрд╛рдпрдерди рдореЗрдВ ML.NET рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ред рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ, рдпрд╣рд╛рдБ
рд▓рд┐рдВрдХ рд╣реИ ред
рдореИрдВ Ml.NET рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ,
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Microsoft рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ
рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдм рдХреБрдЫ "рдЕрдиреБрдХреВрд▓рд┐рдд"
рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╡рд╣рд╛рдВ, рдПрдХ рдЯреИрдХреНрд╕реА рдореЗрдВ рдпрд╛рддреНрд░рд╛ рдХреА рдХреАрдорддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рдереА, рдФрд░ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рд╣реИрдВрд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫреЛрдЯреА рд╡реНрдпрд╛рдЦреНрдпрд╛рдПрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдВрдЧреАред
рдореИрдВрдиреЗ рдирд╡реАрдирддрдо рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2017 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ .NET рдХреЛрд░ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓реАрдХреЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ (рд╕рдВрд╕реНрдХрд░рдг 2.1) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдереАред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ NuGet рд╕рдВрдХреБрд▓ Microsoft.ML, Microsoft.ML.FastTree рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛ред рд╡рд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреВрд░реА рддреИрдпрд╛рд░реА рд╣реИред
рд╣рдо рд╕реАрдзреЗ рдХреЛрдб рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдореЗрдпрд░рдПрдкреНрдкрд▓ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдИ, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ csv рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред
рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИ [LoadColumn (0)]
- рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ csv рдлрд╛рдЗрд▓ рд╕реЗ рдХреЙрд▓рдо рд▓реЗрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП - рдореЗрдпреЛрд░рдПрдкреЗрд▓рдкреНрд░реЗрдбрд┐рдХреНрд╢рди рдХреНрд▓рд╛рд╕ рдмрдирд╛рдпрд╛
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЧреНрд▓реВрдЗрдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рдЪрд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлреНрд▓реЛрдЯ рдкреНрд░рдХрд╛рд░ (рддрд╛рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рди рд╣реИрдВ) рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рд░рдЦреЗрдВред
рдбреЗрдЯрд╛ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреЛрдбusing Microsoft.ML.Data; namespace app_to_mayor_mlnet { class MayorAppel { [LoadColumn(0)] public float Year; [LoadColumn(1)] public string Month; [LoadColumn(2)] public float TotalAppeals; [LoadColumn(3)] public float AppealsToMayor; [LoadColumn(4)] public float ResPositive; [LoadColumn(5)] public float ResExplained; [LoadColumn(6)] public float ResNegative; [LoadColumn(7)] public float ElFormToMayor; [LoadColumn(8)] public float PapFormToMayor; [LoadColumn(9)] public float To10KTotalVAO; [LoadColumn(10)] public float To10KMayorVAO; [LoadColumn(11)] public float To10KTotalZAO; [LoadColumn(12)] public float To10KMayorZAO; [LoadColumn(13)] public float To10KTotalZelAO; [LoadColumn(14)] public float To10KMayorZelAO; [LoadColumn(6)] public float To10KTotalSAO; [LoadColumn(15)] public float To10KMayorSAO; [LoadColumn(16)] public float To10KTotalSVAO; [LoadColumn(17)] public float To10KMayorSVAO; [LoadColumn(18)] public float To10KTotalSZAO; [LoadColumn(19)] public float To10KMayorSZAO; [LoadColumn(20)] public float To10KTotalTiNAO; [LoadColumn(21)] public float To10KMayorTiNAO; [LoadColumn(22)] public float To10KTotalCAO; [LoadColumn(23)] public float To10KMayorCAO; [LoadColumn(24)] public float To10KTotalYUAO; [LoadColumn(25)] public float To10KMayorYUAO; [LoadColumn(26)] public float To10KTotalYUVAO; [LoadColumn(27)] public float To10KMayorYUVAO; [LoadColumn(28)] public float To10KTotalYUZAO; [LoadColumn(29)] public float To10KMayorYUZAO; } public class MayorAppelPrediction { [ColumnName("Score")] public float ResPositive; } }
рдЪрд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред
рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ:
using System.IO; using Microsoft.ML;
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИред
namespace app_to_mayor_mlnet { class Program { static readonly string _trainDataPath = Path.Combine(Environment.CurrentDirectory, "Data", "train_data.csv"); static readonly string _testDataPath = Path.Combine(Environment.CurrentDirectory, "Data", "test_data.csv"); static readonly string _modelPath = Path.Combine(Environment.CurrentDirectory, "Data", "Model.zip");
рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрде рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (Accord.NET рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд╡рд┐рдкрд░реАрдд)
рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЕрд╕реЗрдВрдмрд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ "рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ" рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж рдЙрди рддрд░реАрдХреЛрдВ рдХреА рдЪреБрдиреМрддреА рдЖрддреА рд╣реИ рдЬреЛ рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдПрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рджреЗрддреЗ рд╣реИрдВред
static void Main(string[] args) { MLContext mlContext = new MLContext(seed: 0); var model = Train(mlContext, _trainDataPath); Evaluate(mlContext, model); TestSinglePrediction(mlContext, model); }
рдХреНрд░рдо рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ
рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрди рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
public static ITransformer Train(MLContext mlContext, string dataPath) { IDataView dataView = mlContext.Data.LoadFromTextFile<MayorAppel>(dataPath, hasHeader: true, separatorChar: ','); var pipeline = mlContext.Transforms.CopyColumns(outputColumnName: "Label", inputColumnName: "ResPositive") .Append(mlContext.Transforms.Categorical.OneHotEncoding(outputColumnName: "MonthEncoded", inputColumnName: "Month")) .Append(mlContext.Transforms.Concatenate("Features", "Year", "MonthEncoded", "TotalAppeals", "AppealsToMayor", "ResExplained", "ResNegative", "ElFormToMayor", "PapFormToMayor", "To10KTotalVAO", "To10KMayorVAO", "To10KTotalZAO", "To10KMayorZAO", "To10KTotalZelAO", "To10KMayorZelAO", "To10KTotalSAO", "To10KMayorSAO" , "To10KTotalSVAO", "To10KMayorSVAO", "To10KTotalSZAO", "To10KMayorSZAO", "To10KTotalTiNAO", "To10KMayorTiNAO" , "To10KTotalCAO", "To10KMayorCAO", "To10KTotalYUAO", "To10KMayorYUAO", "To10KTotalYUVAO", "To10KMayorYUVAO" , "To10KTotalYUZAO", "To10KMayorYUZAO")).Append(mlContext.Regression.Trainers.FastTree()); var model = pipeline.Fit(dataView); return model; }
рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдиреЗ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╣рдо рдЙрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░реЗрдЧрд╛ (рд▓реЗрдмрд▓)ред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкреНрд░рддрд┐ рдорд╛рд╣ рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреА рдЕрдкреАрд▓ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рд▓ рдХрд┐рдП рдЧрдП рдореБрджреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд┐рд░реНрдгрдп рдкреЗрдбрд╝реЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╕рднреА рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдкрд░ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
Accord.NET рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП OneHotEncoding рд╕рдорд╛рдзрд╛рди рдХреЛ рддреБрд░рдВрдд рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЙрд▓рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдлреНрд▓реЛрдЯред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рд╣рдо рддреИрдпрд╛рд░ рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рдЕрдкрдиреЗ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╣реИрдВред
private static void Evaluate(MLContext mlContext, ITransformer model) { IDataView dataView = mlContext.Data.LoadFromTextFile<MayorAppel>(_testDataPath, hasHeader: true, separatorChar: ','); var predictions = model.Transform(dataView); var metrics = mlContext.Regression.Evaluate(predictions, "Label", "Score"); Console.WriteLine(); Console.WriteLine($"*************************************************"); Console.WriteLine($"* Model quality metrics evaluation "); Console.WriteLine($"*------------------------------------------------"); Console.WriteLine($"* RSquared Score: {metrics.RSquared:0.##}"); Console.WriteLine($"* Root Mean Squared Error: {metrics.RootMeanSquaredError:#.##}"); }
рд╣рдо рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдирдореВрдиреЗ (рд╕реЗрдЯ рд╕реЗ рдЕрдВрддрд┐рдо 4 рдорд╣реАрдиреЗ) рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдкрд░ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдореАрдЯреНрд░рд┐рдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдФрд░ рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди рдХрд╛ рдЧреБрдгрд╛рдВрдХ рд╣реИред рдкрд╣рд▓рд╛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ 1 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреВрд╕рд░рд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╢реВрдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдореЙрдбрд▓ рдХрд┐рд╕реА рдЪреАрдЬ рдХреА рдХрд┐рддрдиреА рдмреБрд░реА рддрд░рд╣ рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред
рдЕрдВрддрд┐рдо рд╡рд┐рдзрд┐ рдмрдиреА рд╣реБрдИ рд╣реИ - рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╣реАред
рд╣рдо рдЗрд╕реЗ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рднреА рдЫрд┐рдкрд╛рдПрдВрдЧреЗред
рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╡рд┐рдзрд┐ рдФрд░ рдбреЗрдЯрд╛ private static void TestSinglePrediction(MLContext mlContext, ITransformer model) { var predictionFunction = mlContext.Model.CreatePredictionEngine<MayorAppel, MayorAppelPrediction>(model); var MayorAppelSampleMinData = new MayorAppel() { Year = 2019, Month = "August", ResPositive = 0 }; var MayorAppelSampleMediumData = new MayorAppel() { Year = 2019, Month = "August", TotalAppeals = 111340, AppealsToMayor = 17932, ResExplained = 66858, ResNegative = 8945, ElFormToMayor = 14931, PapFormToMayor = 2967, ResPositive = 0 }; var MayorAppelSampleMaxData = new MayorAppel() { Year = 2019, Month = "August", TotalAppeals = 111340, AppealsToMayor = 17932, ResExplained = 66858, ResNegative = 8945, ElFormToMayor = 14931, PapFormToMayor = 2967, To10KTotalVAO = 67, To10KMayorVAO = 13, To10KTotalZAO = 57, To10KMayorZAO = 13, To10KTotalZelAO = 49, To10KMayorZelAO = 9, To10KTotalSAO = 71, To10KMayorSAO = 14, To10KTotalSVAO = 86, To10KMayorSVAO = 27, To10KTotalSZAO = 68, To10KMayorSZAO = 12, To10KTotalTiNAO = 93, To10KMayorTiNAO = 36, To10KTotalCAO = 104, To10KMayorCAO = 24, To10KTotalYUAO = 56, To10KMayorYUAO = 12, To10KTotalYUVAO = 59, To10KMayorYUVAO = 13, To10KTotalYUZAO = 78, To10KMayorYUZAO = 23, ResPositive = 0 }; var predictionMin = predictionFunction.Predict(MayorAppelSampleMinData); var predictionMed = predictionFunction.Predict(MayorAppelSampleMediumData); var predictionMax = predictionFunction.Predict(MayorAppelSampleMaxData); Console.WriteLine($"**********************************************************************"); Console.WriteLine($"Prediction for August 2019"); Console.WriteLine($"Predicted Positive decisions (Minimum Features): {predictionMin.ResPositive:0.####}, actual res_positive : 22313"); Console.WriteLine($"Predicted Positive decisions (Medium Features: {predictionMed.ResPositive:0.####}, actual res_positive : 22313"); Console.WriteLine($"Predicted Positive decisions (Maximum Features): {predictionMax.ResPositive:0.####}, actual res_positive : 22313"); Console.WriteLine($"**********************************************************************"); }
рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдкреНрд░рд┐рдбрд┐рдХреНрд╢рдирдмрд╛рдЗрди рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╣реА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╣рдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рддреАрди "рдЬрд╛рдВрдЪ" рдмрдирд╛рдПрдВрдЧреЗред
рдбреЗрдЯрд╛ рдХреЗ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкрд╣рд▓рд╛ (рдХреЗрд╡рд▓ рдПрдХ рдорд╣реАрдирд╛ рдФрд░ рдПрдХ рд╡рд░реНрд╖), рджреВрд╕рд░рд╛ рдФрд╕рдд рдХреЗ рд╕рд╛рде рдФрд░ рддреАрд╕рд░рд╛ рдХреНрд░рдорд╢рдГ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдПрдХ рдкреВрд░реНрдг рд╕реЗрдЯ рдХреЗ рд╕рд╛рдеред
рд╣рдо рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ (рд╡рд┐рдВрдбреЛрдЬ 10 x64) рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд▓реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐ 10,000 рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ рдкрд░ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдирд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рдереЛрдбрд╝реА рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред

рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд, рдорд┐рдВрдЯ 19 рднреА рдореЛрдиреЛ рдореЗрдВ рд╢рд╛рдирджрд╛рд░ рдврдВрдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд░реВрдкрд░реЗрдЦрд╛ рдХрд╛рдлреА рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ Accord.NET рдФрд░ рдкрд╛рдпрдерди рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде ML.NET рдХрд╛ рдереЛрдбрд╝рд╛ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рджреВрдВрдЧрд╛ред
1. рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд░реБрдЭрд╛рдиреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдПрдирд╛рдХреЛрдВрдбрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде
рдкрд╛рдпрдерди рдореЗрдВ, рдпрд╣ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрдо рд╕рдордп рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ML.NET рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ рдЬреЛ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
2.
Accord.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, ML.NET рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдкрд╛рдпрдерди рдореЗрдВ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ Accord.NET рдкрд░ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдмрд╣реБрдд рдХрдореА рдереАред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде Ml.NET рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ Accord.NET рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рдпрд╣ рд╣реИ рдХрд┐ ML.NET, GitHub рдкрд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, Accord.NET рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЧрд╣рди рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░реА рдЕрдзрд┐рдХ рд╣реИред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, ML.NET рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ
рдЬреЛ рдЖрдкрдХреЗ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдХреЛ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкрд╛рдпрдерди рдпрд╛ рдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм .NET рдПрдкреАрдЖрдИ рдирд┐рд╖реНрдкрд╛рджрд┐рдд .NET рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ)ред
рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рд╕рдкреНрддрд╛рд╣ рд╣реИ!