
рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЖрдЬ рд╣рдо рд╕реНрдХрд╛рд▓рд╛ рдкрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдХрд░ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдРрд╕реА рдЬрд┐рдВрджрдЧреА рдХреИрд╕реЗ рдорд┐рд▓реАред рдЗрд╕рд▓рд┐рдП, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣рдорд╛рд░реА рдЯреАрдо рдиреЗ рдкрд╛рдпрдерди рдореЗрдВ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдпреЛрдЧреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рд╣реИ, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХред рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдФрд░ рдареЗрд╕ рдореЗрдВ рд╕реНрдХреИрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдХреНрдпреЛрдВ рдирд╣реАрдВ, рд╣рдордиреЗ рд╕реЛрдЪрд╛, рд╡рд╣рд╛рдБ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рднреА рд╕реНрдХрд╛рд▓рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЖрдЬ рд╣рдо рдкрд╛рдпрдерди рдореЗрдВ рдореЙрдбрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдЧреЗ рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдХрд╛рд▓рд╛ рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╢реИрддрд╛рди рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╣реИред
рддреБрд░рдВрдд рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдкреНрд░рд┐рдп рдкрд╛рдардХ, рдпрд╣ рд▓реЗрдЦ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдирд╣реАрдВ, рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рд╕реНрдХрд╛рд▓рд╛ рдкрд░ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рджрд░рд╡рд╛рдЬрд╛ рдЦреЛрд▓рдирд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рджреЗрдВ, рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рд╕рдм рдЗрддрдирд╛ рдЖрдирдВрджрджрд╛рдпрдХ рдирд╣реАрдВ рдерд╛: рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╢рд╛рд╕реНрддреНрд░реАрдп рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдЕрдХреНрд╕рд░ рдмрдбрд╝реЗ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдУрдкрдирд╕реЛрд░реНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред рд╣рд╛рдВ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕реНрдкрд╛рд░реНрдХ рдПрдордПрд▓рдЖрдИрдмреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрд╛рдЪреЗ рд╣рдбреЛрдк рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реИрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдирд╣реАрдВ рдШрд╕реАрдЯрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдХреНрдпрд╛ рдЬрд░реВрд░рдд рдереА рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рджреБрдирд┐рдпрд╛ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ рдФрд░ рдПрдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рдиреАрдВрдж рд╡рд╛рдкрд╕ рд▓рд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛!
рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?
рдЬрдм рд╣рдордиреЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдЪреБрдирд╛, рддреЛ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдирджрдВрдбреЛрдВ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗ:
- рдпрд╣ рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
- рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХрд┐рд╕реА рдиреЗ рд╡реНрдпрд╛рдкрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ;
- рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗрдм-рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рдореЙрдбрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдХрдВрд╕реЛрд▓ рдпрд╛ рдирд┐рд░рдВрддрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдФрд░ рд╕рдВрдХрд▓рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ;
- рдкреНрд░рд▓реЗрдЦрди рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреА рд╣реИ;
- рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдХрдо рд╕реЗ рдХрдо рдЧреАрдереВрдм рдореБрджреНрджреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред
рд╣рдордиреЗ рдХреНрдпрд╛ рджреЗрдЦрд╛?
- рдЕрдкрд╛рдЪреЗ рд╕реНрдкрд╛рд░реНрдХ MLib : рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ ред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдпрд╣ рд╕реЗрдЯ рдЕрдкрд╛рдЪреЗ рд╣рдбреЛрдк рд╕реНрдЯреИрдХ рдФрд░ рд╕реНрдкрд╛рд░реНрдХ рдХреЛрд░ рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рдЬрди рдХрд╛ рд╣реИред
- Apache PredictionIO : рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛, рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рд▓реЗрдЦрди рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ REST рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореЙрдбрд▓ рдШреВрдо рд░рд╣реЗ рд╣реИрдВред рддреИрдпрд╛рд░ рдореЙрдбрд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рда рд╡рд░реНрдЧреАрдХрд░рдг, рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рд╡рд░реНрдгрди рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдлрд┐рдЯ рдирд╣реАрдВ рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдкрд╛рд░реНрдХ рд╣реБрдб рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ microservice рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЕрдЦрдВрдб рд╕рдорд╛рдзрд╛рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
- рдЕрдкрд╛рдЪреЗ рдПрдордПрдХреНрд╕рдиреЗрдЯ : рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдврд╛рдВрдЪрд╛, рд╕реНрдХрд╛рд▓рд╛ рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ - рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрддреНрдкрд╛рджрди рд╕рдорд╛рдзрд╛рди рдмрдирд╛рддреЗ рд╕рдордп рд╕реНрдХреЗрд▓ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рдкрд░рд┐рдгрд╛рдо рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрд╛рджрди рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд╣реИ ред
- рд╕реНрдорд╛рдЗрд▓ : рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдХрд┐рдЯрд┐рдЯ-рд▓рд░реНрди рдкреИрдХреЗрдЬ рдХреЗ рд╕рдорд╛рдиред рдХреНрд▓рд╛рд╕рд┐рдХ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдкреНрд░рд▓реЗрдЦрди, рдЬреАрдердм рдкрд░ рд╕рдорд░реНрдерди, рдПрдХ рдПрдХреАрдХреГрдд рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ (рд╕реНрд╡рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд), рдЖрдк рдореЙрдбрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП!
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рддреИрдпрд╛рд░реА
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕реНрдорд╛рдЗрд▓ рдХреЛ рдЪреБрдирд╛ред рдореИрдВ рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ k- рд╕рд╛рдзрди рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдКрдВрдЧрд╛ред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд╡рд╣ рд╣реИ рд╕реНрдХреИрд▓рд╛ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдпрд╣ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдХрдЯреНрдареЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╕рд░рд▓, рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рд╣реВрдВред
рд╕реНрдХреИрд▓рд╛ рдХреЗ рд╕рд╛рде рдЬреБрдкрд┐рдЯрд░ рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмреАрдХрд░рдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмреАрдХрд░рдПрдХреНрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЗрд╕ рдЫрд╡рд┐ рдХреЛ рд╕реНрдорд╛рдЗрд▓ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдкрд░реЗрд╢рд╛рдиреА рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реА рдереА: рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп, рдмреАрдХрд░рдПрдХреНрд╕ 1.0.0 рдХреЛ рдмреАрдХрд░реЗрдХреНрд╕ / рдмреАрдХрд░реИрдХреНрд╕ рдЫрд╡рд┐ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 1.4.1 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд┐рддреВрдм рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдерд╛ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ 1.3.0, рд▓реЗрдХрд┐рди рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ 1.4.1 рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :-))ред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореИрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЫрд╡рд┐ BeakerX 1.4.1 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдмреЛрд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдпрд╣рд╛рдВ рдЗрд╕рдХреА рдПрдХ
рдХрдбрд╝реА рд╣реИред
рд╡реИрд╕реЗ, рдЬреЛ рд▓реЛрдЧ рдореЗрд░реА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдмреЛрдирд╕ рд╣реЛрдЧрд╛: рдЙрджрд╛рд╣рд░рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкреНрд▓реЙрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ-рд╕рд╛рдзрди рд╣реИ (рдпрд╣ рд╕реНрдХрд╛рд▓рд╛ рдиреЛрдЯрдмреБрдХ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ)ред
рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рд╕реНрдорд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдмреЗрд╣рддрд░реАрди рддреИрдпрд╛рд░ рд╡рд╛рддрд╛рд╡рд░рдг! рд╣рдо рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдирдИ рд╕реНрдХрд╛рд▓рд╛ рдиреЛрдЯрдмреБрдХ рдмрдирд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдореЗрдВ рдорд╛рд╡реЗрди рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;)ред
%%classpath add mvn com.github.haifengl smile-scala_2.12 1.5.2
рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЗрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдмреНрд▓реЙрдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
рдЕрдЧрд▓рд╛ рдЪрд░рдг: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рдирд╛ред
import java.awt.image.BufferedImage import java.awt.Color import javax.imageio.ImageIO import java.io.File import smile.clustering._
рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛
рдЕрдм рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВрдЧреЗ: рддреАрди рдкреНрд░рд╛рдердорд┐рдХ рд░рдВрдЧреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдирд╛ - рд▓рд╛рд▓, рд╣рд░рд╛ рдФрд░ рдиреАрд▓рд╛ (R, G, B)ред рдЪрд┐рддреНрд░ рдореЗрдВ рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рдмрд▓ рд╣реЛрдЧрд╛ред рд╣рдо рдЫрд╡рд┐ рдХреЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реЛрдВрдЧреЗ, рдЙрдирдХреЗ рд░рдВрдЧ рдХреЛ рдЧреНрд░реЗ рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдПрдХ рдирдИ рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо: рдкреНрд░рдореБрдЦ рд░рдВрдЧ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рднреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ рдЕрдкрдирд╛ рд░рдВрдЧ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред
рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрди рдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ:

рдЕрдЧрд▓рд╛ рдЪрд░рдг: рдЪрд┐рддреНрд░ рдХреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВред рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рд╡рд╛рд▓реА рдЗрдХрд╛рдИ рд╕реЗ рд╣реИ:
- рд╡рд┐рд╕реНрддреГрдд рдкрдХреНрд╖ рд╕рдордиреНрд╡рдп (x);
- рд╕рдВрдХреАрд░реНрдг рдкрдХреНрд╖ рд╕рдордиреНрд╡рдп (y);
- рд░рдВрдЧ рдореВрд▓реНрдп;
- рд╡рд░реНрдЧ / рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдореВрд▓реНрдп (рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЦрд╛рд▓реА рд╣реЛрдЧрд╛)ред
рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ,
case class
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ:
case class Pixel(x: Int, y: Int, rgbArray: Array[Double], clusterNumber: Option[Int] = None)
рдпрд╣рд╛рдВ, рд░рдВрдЧ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд▓рд╛рд▓, рд╣рд░реЗ рдФрд░ рдиреАрд▓реЗ рд░рдВрдЧ рдХреЗ рддреАрди рдореВрд▓реНрдпреЛрдВ рдХреЗ
rgbArray
рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд╛рд▓ рд░рдВрдЧ
Array(255.0, 0, 0)
)ред
рдпрд╣ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░реА рдкреВрд░реА рдХрд░рддрд╛ рд╣реИред
рдкрд┐рдХреНрд╕реЗрд▓ рд░рдВрдЧ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рдкреНрд░рд╛рдердорд┐рдХ рд░рдВрдЧреЛрдВ рдХреЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рддреАрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВрдЧреЗред
рдкреНрд░рд▓реЗрдЦрди 10 рд╕реЗ 20 рдХреА рд╕реАрдорд╛ рдореЗрдВ
runs
рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
рдЬрдм рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
KMeans
рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдЙрдЯрдкреБрдЯ рдмреНрд▓реЙрдХ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреА:
K-Means distortion: 0.00000 Clusters of 230400 data points of dimension 3: 0 50813 (22.1%) 1 51667 (22.4%) 2 127920 (55.5%)
рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдм рд╣рдореЗрдВ 0 рд╕реЗ 2 рддрдХ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирд┐рд░рдВрдХреБрд╢ рдЫрд╡рд┐
рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдмрдЪреА рд╣реБрдИ рд╣реИ, рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдФрд░ рдЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЧреНрд░реЗ (
rgbArray
рд╕рд░рдгреА рдХрд╛ рдорд╛рди рдмрджрд▓рдирд╛)ред
рдХреНрд▓рд╕реНрдЯрд░ рдирдВрдмрд░ рджреНрд╡рд╛рд░рд╛ рдХреЗрд╡рд▓ рд╕рдореВрд╣ рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рд╣рдорд╛рд░рд╛
Option:[Int]
), рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдЕрдзрд┐рдХрддрдо рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рд░рдВрдЧ рдХреЛ рдХреЗрд╡рд▓ рдЙрди рдкрд┐рдХреНрд╕рд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗ рдореЗрдВ рдмрджрд▓реЗрдВ рдЬреЛ рдкрд╛рдП рдЧрдП рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдПрдХ рдирдИ рдЫрд╡рд┐ рдмрдирд╛рдПрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬреЗрдВред
рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдПрдХ рдирдИ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛:
рдпрд╣реА, рдЖрдЦрд┐рд░ рдореЗрдВ, рд╣рдордиреЗ рдХрд┐рдпрд╛ред

рд╣рдо рджреЛрдиреЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред
ImageIO.write(testImage, "png", new File("testImage.png")) ImageIO.write(modifiedImage, "png", new File("modifiedImage.png"))
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕реНрдХрд╛рд▓рд╛ рдкрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореМрдЬреВрдж рд╣реИред рдмреБрдирд┐рдпрд╛рджреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╡рд┐рд╢рд╛рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдзрдиреЛрдВ рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣реА рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЛ рд╕реНрдХрд╛рд▓рд╛ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рджреЛрд╕реНрдд рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рд╕реНрдорд╛рдЗрд▓ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдкреВрд░реНрдг рдЕрд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓реЗрдЦ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдерд╛ред рдореБрдЦреНрдп рдХрд╛рд░реНрдп - рд╕реНрдХрд╛рд▓рд╛ рдкрд░ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рджрд░рд╡рд╛рдЬрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ, рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдпрд╛ рдирд╣реАрдВ, рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ!
рд╕рдВрджрд░реНрдн