Scikit-learn: рдкрд╛рдВрдбрд╛ рдЕрдВрджрд░, рдкрд╛рдВрдбрд╛ рдмрд╛рд╣рд░?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЕрдХреНрддреВре░ 2015  ┬╖  59рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: scikit-learn/scikit-learn

рдлрд┐рд▓рд╣рд╛рд▓, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдХреЗрд▓реЗрд░ рдлрд┐рдЯ/рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА/рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд░рдгреА рдорд┐рд▓рддреА рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдиреЗ рдЗрд╕реЗ рд░рдЦрд╛ рдерд╛ред

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реАрдзрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдореЗрдВ рдРрд╕реЗ рдХреЙрд▓рдо рд╣реИрдВ рдЬреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдордзреНрдпрд╡рд░реНрддреА рд╕реБрдиреНрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕реНрдХреЗрд▓реЗрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ dtype=object рдХреЗ рдмрдЬрд╛рдп dtype=float ред рдЗрд╕реЗ рдбреЗрдЯрд╛рдлреНрд░реЗрдо-> ndarray рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рд╣реЛрдиреЗ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ/рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреВрд░реНрдгрд╛рдВрдХ) рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИред sklearn-pandas рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдореЗрдВ inverse_transform , рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд░реВрдкрд╛рдВрддрд░рдг _really_ sklearn рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ - рдпрд╣ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдХрд┐ рдПрдХрд╛рдзрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗрдЧрд╛ред sklearn рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд▓рдЧреЗрдЧрд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореЗрд░реЗ рд╕рднреА рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рд▓реМрдЯ DataFrame рд░реЛрдВ рдЬрдм рджрд┐рдпрд╛ DataFrame рдПрд╕ред
рдЬрдм рдореИрдВ рдПрдХ 300-рдХреЙрд▓рдо DataFrame рдХреЛ Pipeline рдЗрдирдкреБрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ 500-рдХреЙрд▓рдо ndarray рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╕реАрдЦ рд╕рдХрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, feature_selection , рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм рдХреЙрд▓рдо рдирд╛рдо рдирд╣реАрдВ рд╣реИрдВред рдЕрдЧрд░, рдХрд╣реЗрдВ, mutual_info_classif рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдХреЙрд▓рдо 30 рдФрд░ 75 рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдореВрд▓ Pipeline рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдбреЗрдЯрд╛ рдХреЛ DataFrame рдореЗрдВ рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдзрдиреНрдпрд╡рд╛рджред

рд╕рднреА 59 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╢рд╛рдпрдж рдкрдВрдбреЛрдВ рдХреЗ рдПрдХреАрдХрд░рдг рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рдмрд╣реБрдд рдмрджрд▓ рдЧрдИ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд░реИрдкрд░ рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рдкрдХ рдкреНрд░рд╢реНрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдорд╛рдирдХ рдЕрдиреБрдорд╛рдирдХреЛрдВ рд╕реЗ рдкрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реЛрдВрдЧреЗ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдБ:

  • рд╕рднреА рддрд░реАрдХреЗ рдЗрдирдкреБрдЯ рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  • рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╛рдорд┐рдд рдХреЙрд▓рдо рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдорд▓реНрдЯреАрдХреНрд▓рд╛рд╕ рдкреНрд░реЗрдбрд┐рдХреНрдЯ_рдкреНрд░реЛрдмрд╛ рдХреЙрд▓рдо рдХреЛ рдХреНрд▓рд╛рд╕ рдХреЗ рдирд╛рдо рд╕реЗ рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рд╣рд╛рдБ, рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ:

  • рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдордпрдмрджреНрдз рдЕрдВрддрд░рд╛рд▓ рдЪрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рджрд┐рди рдЕрдВрддрд░рд╛рд▓, рдХреБрдЫ рд▓рд╛рдкрддрд╛ рджрд┐рдиреЛрдВ рдХреЗ рд╕рд╛рде рджреИрдирд┐рдХ рдбреЗрдЯрд╛ рдкрд░)
  • рд╕реНрдХреЗрд▓реЗрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдорд┐рд╢реНрд░рд┐рдд рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд╛рд╕ рдХрд░реЗрдВ, рд▓реЗрдмрд▓рдмрд┐рдирд╛рд░рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгреАрдмрджреНрдз рдХреЙрд▓рдо рдмрджрд▓реЗрдВ, рдЙрд▓рдЯрд╛_рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ)ред
  • sklearn-pandas рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрд▓рдо рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдпрд╣ рд╕рдм рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдХреЗрд▓реЗрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣реЛрдЧрд╛
рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдореЗрдЯрд╛рд╕реНрдЯрд┐рдореЗрдЯрд░ рдпрд╛ рдорд┐рдХреНрд╕рд┐рдиред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╢реБрд░реВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛

22 рдЕрдХреНрдЯреВрдмрд░ 2015 17:40 рдкрд░, naught101 [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рд╣рд╛рдБ, рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ:

  • рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдордпрдмрджреНрдз рдЕрдВрддрд░рд╛рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
    рдЪрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рджрд┐рди рдЕрдВрддрд░рд╛рд▓, рдХреБрдЫ рд▓рд╛рдкрддрд╛ рджрд┐рдиреЛрдВ рдХреЗ рд╕рд╛рде рджреИрдирд┐рдХ рдбреЗрдЯрд╛ рдкрд░)
  • рд╕реНрдкрд╖реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓реЗрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
    (рдорд┐рд╢реНрд░рд┐рдд рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкрд╛рд╕ рдХрд░реЗрдВ, рд▓реЗрдмрд▓рдмрд┐рдирд╛рд░рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгреАрдмрджреНрдз рдХреЙрд▓рдо рдмрджрд▓реЗрдВ,
    inverse_transform рдЗрд╕реЗ рд╡рд╛рдкрд╕)ред
  • sklearn-pandas рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
    рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ
    рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрддрдВрднреЛрдВ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред

рдпрджрд┐ рдпрд╣ рд╕рдм рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ sklearn
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment -150123228
.

рдХреЙрд▓рдо рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдкреАрдЖрд░ # 3886 рдХреЗ рдкреАрдЫреЗ "рдкрд╛рдВрдбрд╛" рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдирд╛ рдПрдХ рддрд░рд╣ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ред рд╢рд╛рдпрдж рдореБрдЭреЗ рдФрд░ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХрд┐ рд╕реНрдХреЗрд▓реЗрд░-рдкрд╛рдВрдбрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИред

рджреВрд╕рд░реА рдЪреАрдЬ рдЬреЛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА, рд╡рд╣ рд╣реЛрдЧреА рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛/рдлреАрдЪрд░ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп рдЙрдирдХрд╛ рдЪрдпрди рдХрд░рдирд╛ред рдореБрдЭреЗ рд╡рд╣ рдореБрджреНрджрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдЕрднреА рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИред рд╢рд╛рдпрдж @jnothman рдХреЛ рдпрд╛рдж рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдмрдбрд╝реА рд╕рд░реНрдЬрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: - /

рд╕рдВрдмрдВрдзрд┐рдд #4196

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рд░реНрдЬрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ:-/

рди рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди: рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ
рдЗрдирдкреБрдЯ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред

рд╕рдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛;)

рдПрдХ рд╕рд╡рд╛рд▓ рд╢рд╛рдпрдж рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдпрд╛ рд╣рд░ рдЬрдЧрд╣ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рд╕рд░реНрдЬрд░реА рдХрдо рдмрдбрд╝реА рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рдЖрдк рд╣рдореЗрд╢рд╛ рдЙрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛? рддреЛ рд╣рдо _рддрд░рд╣ рдХреЗ_ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ 1 рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИрдХреА рд╣реИ) рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рддрдХ рд╕реАрдорд┐рдд рдХрд░рдХреЗ ...

+1ред рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ рд╕рднреА рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╛рдВрдбрд╛ рдФрд░ рд╕реНрдХреЗрд▓реЗрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдореНрдкреНрд▓рд╛рдВрдЯ рднреА рд╣реИ, рдЬреЛ рдХреЙрд▓рдо рдЬрд╛рдирдХрд╛рд░реА рдХреЛ inverse_transform рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЧрдВрджрд╛ рд╣реИрдХ ...)

http://pandas-ml.readthedocs.org/en/latest/sklearn.html

тАв рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдордпрдмрджреНрдз рдЕрдВрддрд░рд╛рд▓ рдЪрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рджрд┐рди рдХрд╛ рдЕрдВрддрд░рд╛рд▓, рдХреБрдЫ рд▓рд╛рдкрддрд╛ рджрд┐рдиреЛрдВ рдХреЗ рд╕рд╛рде рджреИрдирд┐рдХ рдбреЗрдЯрд╛ рдкрд░)

рдореИрдВ рдереЛрдбрд╝рд╛ рдореВрд░реНрдЦ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдирдореВрдиреЗ рдореЗрдВ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рдлреАрдЪрд░ рджрд┐рд╢рд╛ рдХреЗ рдмрдЬрд╛рдп рдпрд╣рд╛рдВ рджрд┐рд╢рд╛?

тАв рд╕реНрдкрд╖реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓реЗрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдкрд╛рд╕
рдорд┐рд╢реНрд░рд┐рдд рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо, рд▓реЗрдмрд▓рдмрд┐рдирд╛рд░рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╢реНрд░реЗрдгреАрдмрджреНрдз рд╕реНрддрдВрднреЛрдВ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ,
inverse_transform рдЗрд╕реЗ рд╡рд╛рдкрд╕)ред

тАв sklearn-pandas рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ a . рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо, рдФрд░ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрд▓рдоред

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╣реИ рдЬреЛ рдкрдВрдбреЛрдВ рдХреЛ рдЕрдВрджрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ,
рдФрд░ рдбреЗрдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рджреЗрддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп a
рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреА рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕рдВрд╢реЛрдзрди (рдЬреЛ рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИ)
рдкреНрд░рдпрд╛рд╕), рд╣рдо рдкрд╣рд▓реЗ рдЗрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐
@amueller рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдпрд╣ рд╣реИ)ред

рдлреАрдЪрд░ рджрд┐рд╢рд╛ рдХреЗ рдмрдЬрд╛рдп рдирдореВрдирд╛ рджрд┐рд╢рд╛ рдпрд╣рд╛рдВ?

рд╣рд╛рдВред

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╣реИ рдЬреЛ рдкрдВрдбреЛрдВ рдХреЛ рдЕрдВрджрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рджреЗрддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рд╣рд╛рдВ, рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдПрдХ рд░реИрдкрд░ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЦреБрд╢ рд░рд╣реВрдВрдЧрд╛ рдЬреЛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЗ рд░реВрдк рдореЗрдВ X рдФрд░ y рд╕реЗ рдирд┐рдкрдЯрддрд╛ рд╣реИред рдореБрдЭреЗ рд╕реНрдХреЗрд▓реЗрд░ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХреЗ рд╕рд╛рде рдкреЗрдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред

OK, but that's all at the level of one transformer that takes Pandas in,
and gives a data matrix out, isn't it?

рд╣рд╛рдВ, рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЦреБрд╢реА рд╣реЛрдЧреА
рдПрдХ рдЖрд╡рд░рдг рдЬреЛ рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдХреЛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ
sklearn рдХреЗ рдЗрдВрдЯрд░реНрдирд▓ рдХреЗ рд╕рд╛рде рдкреЗрдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдлрд┐рд░ рд╣рдо рдПрдХ рд╣реА рдкреГрд╖реНрда рдкрд░ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @amueller рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ
рдпрд╣, рдФрд░ рд╣рдо рдХреБрдЫ рдЪрд░реНрдЪрд╛, рдФрд░ рд╢рд╛рдпрдж рдХреЛрдб рдЬрд▓реНрдж рд╣реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░реА рдЪреАрдЬ рдЬреЛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА, рд╡рд╣ рд╣реЛрдЧреА рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛/рдлреАрдЪрд░ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп рдЙрдирдХрд╛ рдЪрдпрди рдХрд░рдирд╛ред рдореБрдЭреЗ рд╡рд╣ рдореБрджреНрджрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдЕрднреА рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИред

5172

рдПрдХ рдиреЛрдЯ: рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдмрд╛рд╣рд░реА рдЕрдиреБрдорд╛рдирдХ рдХреЛ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣реИ: рдирд╣реАрдВ, рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛рдлреНрд░реЗрдо-рдЬрд╛рдЧрд░реВрдХ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рдорд╛рдгреБ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдХреЛ рднреА рд▓рдкреЗрдЯрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ (рдХреНрдпреЛрдВ рдирд╣реАрдВ?) рдЗрд╕реЗ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдмрд┐рдирд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕рд┐рдВрдЧ рдпрд╛ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдБ рдХреНрд▓реЛрдирд┐рдВрдЧ (рдЬреИрд╕реЗ # 5080 рдореЗрдВ) рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рд╣реИрдВред

:+1:

рдореИрдВ рдЬрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕реЗ рдЯреЙрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:

def check_output(X, ensure_index=None, ensure_columns=None):
    """
    Joins X with ensure_index's index or ensure_columns's columns when avaialble
    """
    if ensure_index is not None:
        if ensure_columns is not None:
            if type(ensure_index) is pd.DataFrame and type(ensure_columns) is pd.DataFrame:
                X = pd.DataFrame(X, index=ensure_index.index, columns=ensure_columns.columns)
        else:
            if type(ensure_index) is pd.DataFrame:
                X = pd.DataFrame(X, index=ensure_index.index)
    return X

рдореИрдВ рдлрд┐рд░ рд╕реНрдХреЗрд▓реЗрд░ рдХреЗ рдЕрдиреБрдорд╛рдирдХреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд░реИрдкрд░ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ,

from sklearn.preprocessing import StandardScaler as _StandardScaler 
class StandardScaler(_StandardScaler):
    def transform(self, X):
        Xt = super(StandardScaler, self).transform(X)
        return check_output(Xt, ensure_index=X, ensure_columns=X)

рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдПрдХреНрд╕ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА)ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдореМрдЬреВрджрд╛ рд╕реНрдХреЗрд▓реЗрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реИ, рдЬрдмрдХрд┐ рдЧрдгрдирд╛ рдХреА рдЧрддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП (рдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкрд░ рдЕрдиреБрдХреНрд░рдордг numpy arrays рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10x рддрдХ рдзреАрдорд╛ рд╣реИ, http://penandpants.com/2014/09/05 /рдкреНрд░рджрд░реНрд╢рди-рдХреА-рдкрд╛рдВрдбрд╛-рд╢реНрд░реГрдВрдЦрд▓рд╛-рдмрдирд╛рдо-рд╕реБрдиреНрди-рд╕рд░рдгреА/)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдорд╛рдирдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдХрдард┐рди рдХрд╛рдо рд╣реИ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдЗрд╕ рдЬрд╛рджреВ рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдЬрд░реВрд░реА рд╣реИ ...

15 рдЬрдирд╡рд░реА 2016 рдХреЛ 02:30 рдмрдЬреЗ, рдбреАрди рд╡рд╛рдпрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВ рдЬрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕реЗ рдЯреЙрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:

def check_output (X, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ = рдХреЛрдИ рдирд╣реАрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рд╕реНрддрдВрдн = рдХреЛрдИ рдирд╣реАрдВ):
"""
рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рд╕реНрддрдВрднреЛрдВ рдХреЗ рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдПрдХреНрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ
"""
рдЕрдЧрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ:
рдЕрдЧрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдХреЙрд▓рдо рдХреЛрдИ рдирд╣реАрдВ рд╣реИ:
рдЕрдЧрд░ рдЯрд╛рдЗрдк (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕) рдкреАрдбреА рд╣реИред рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдФрд░ рдЯрд╛рдЗрдк (ensure_columns) рдкреАрдбреА рд╣реИред рдбреЗрдЯрд╛рдлреНрд░реЗрдо:
X = pd.DataFrame(X, index=ensure_index.index, column=ensure_columns.columns)
рдЕрдиреНрдпрдерд╛:
рдЕрдЧрд░ рдЯрд╛рдЗрдк (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕) рдкреАрдбреА рд╣реИред рдбреЗрдЯрд╛рдлреНрд░реЗрдо:
X = pd.DataFrame(X, index=ensure_index.index)
рд╡рд╛рдкрд╕реА рдПрдХреНрд╕

рдореИрдВ рдлрд┐рд░ рд╕реНрдХреЗрд▓реЗрд░ рдХреЗ рдЕрдиреБрдорд╛рдирдХреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд░реИрдкрд░ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ
рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЙрддреНрдкрд╛рджрди рдкрд░ рдЬреИрд╕реЗ,

sklearn.preprocessing рд╕реЗ _StandardScaler . рдХреЗ рд░реВрдк рдореЗрдВ StandardScaler рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдХрдХреНрд╖рд╛ MinMaxScaler (_MinMaxScaler):
рдбреАрдИрдПрдлрд╝ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо (рд╕реНрд╡рдпрдВ, рдПрдХреНрд╕):
рдПрдХреНрд╕рдЯреА = рд╕реБрдкрд░ (рдорд┐рдирдореИрдХреНрд╕рд╕реНрдХреЗрд▓рд░, рд╕реЗрд▓реНрдл)ред рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо (рдПрдХреНрд╕)
рд╡рд╛рдкрд╕реА рдЪреЗрдХ_рдЖрдЙрдЯрдкреБрдЯ (рдПрдХреНрд╕рдЯреА, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ = рдПрдХреНрд╕, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_ рдХреЙрд▓рдо = рдПрдХреНрд╕)

рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдПрдХреНрд╕ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдмрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╕рдордп-рд╕рд╛рд░рд┐рдгреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА)ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реИ
рдЧрдгрдирд╛ рдХреА рдЧрддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдореМрдЬреВрджрд╛ рд╕реНрдХреЗрд▓реЗрд░ рдбрд┐рдЬрд╛рдЗрди
(рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд░ рдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдЕрдиреБрдХреНрд░рдордг numpy рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10x рдзреАрдорд╛ рд╣реИ
рд╕рд░рдгреА)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдорд╛рдирдХ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдХрдард┐рди рдХрд╛рдо рд╣реИ
рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment -171674105
.

рдпрд╛ рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди/рдЕрдиреБрдорд╛рдирдХ рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ, рдирд╣реАрдВ?

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк "рдЪреЗрдХ_ *" рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреНрдпреЛрдВ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ, рдЬрдм рдпрд╣ рдХреЗрд╡рд▓ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдХрд░ рд░рд╣рд╛ рд╣реИ ...

14 рдЬрдирд╡рд░реА 2016 рдХреЛ рд╕реБрдмрд╣ 10:45:44 рдмрдЬреЗ рд╕реАрдПрд╕рдЯреА, рдЬреЛрдПрд▓ рдиреЛрдердореИрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рд╢рд╛рдпрдж рдЗрд╕ рдЬрд╛рджреВ рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдЬрд░реВрд░реА рд╣реИ ...

15 рдЬрдирд╡рд░реА 2016 рдХреЛ 02:30 рдмрдЬреЗ, рдбреАрди рд╡рд╛рдпрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВ рдЬрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕реЗ рдЯреЙрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:

def check_output (X, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ = рдХреЛрдИ рдирд╣реАрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рд╕реНрддрдВрдн = рдХреЛрдИ рдирд╣реАрдВ):
"""
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рд╕реНрддрдВрднреЛрдВ рдХреЗ рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдПрдХреНрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ
рдЬрдм рдЙрдкрд▓рдмреНрдз рд╣реЛ
"""
рдЕрдЧрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ:
рдЕрдЧрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдХреЙрд▓рдо рдХреЛрдИ рдирд╣реАрдВ рд╣реИ:
рдЕрдЧрд░ рдЯрд╛рдЗрдк (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕) рдкреАрдбреА рд╣реИред рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдФрд░
type(ensure_columns) pd.DataFrame рд╣реИ:
рдПрдХреНрд╕ = рдкреАрдбреАред рдбреЗрдЯрд╛рдлреНрд░реЗрдо (рдПрдХреНрд╕, рдЗрдВрдбреЗрдХреНрд╕ = рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ред рдЗрдВрдбреЗрдХреНрд╕,
рдХреЙрд▓рдо = рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдХреЙрд▓рдо.рдХреЙрд▓рдо)
рдЕрдиреНрдпрдерд╛:
рдЕрдЧрд░ рдЯрд╛рдЗрдк (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕) рдкреАрдбреА рд╣реИред рдбреЗрдЯрд╛рдлреНрд░реЗрдо:
X = pd.DataFrame(X, index=ensure_index.index)
рд╡рд╛рдкрд╕реА рдПрдХреНрд╕

рдореИрдВ рдлрд┐рд░ рд╕реНрдХреЗрд▓реЗрд░ рдХреЗ рдЕрдиреБрдорд╛рдирдХреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд░реИрдкрд░ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ
рд╕рдорд╛рд░реЛрд╣
рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЙрддреНрдкрд╛рджрди рдкрд░ рдЬреИрд╕реЗ,

sklearn.preprocessing рд╕реЗ _StandardScaler . рдХреЗ рд░реВрдк рдореЗрдВ StandardScaler рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдХрдХреНрд╖рд╛ MinMaxScaler (_MinMaxScaler):
рдбреАрдИрдПрдлрд╝ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо (рд╕реНрд╡рдпрдВ, рдПрдХреНрд╕):
рдПрдХреНрд╕рдЯреА = рд╕реБрдкрд░ (рдорд┐рдирдореИрдХреНрд╕рд╕реНрдХреЗрд▓рд░, рд╕реЗрд▓реНрдл)ред рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо (рдПрдХреНрд╕)
рд╡рд╛рдкрд╕реА рдЪреЗрдХ_рдЖрдЙрдЯрдкреБрдЯ (рдПрдХреНрд╕рдЯреА, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдЗрдВрдбреЗрдХреНрд╕ = рдПрдХреНрд╕, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_ рдХреЙрд▓рдо = рдПрдХреНрд╕)

рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдПрдХреНрд╕ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рдЕрднреА - рдЕрднреА
рдЗрд╕рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╕рдордп-рд╕рд╛рд░рд┐рдгреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА)ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реИ
рдХреА рдЧрддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдореМрдЬреВрджрд╛ рд╕реНрдХреЗрд▓реЗрд░ рдбрд┐рдЬрд╛рдЗрди
рдЧрдгрдирд╛
(рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд░ рдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдЕрдиреБрдХреНрд░рдордг 10x рддрдХ рдзреАрдорд╛ рд╣реИ
Numpy
рд╕рд░рдгреА)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдХрдард┐рди рдХрд╛рдо рд╣реИ
рдХрд╝реАрдордд рд▓рдЧрд╛рдиреЗрд╡рд╛рд▓рд╛
рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment -171674105
.


рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment -171697542

K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдХреЙрд▓рдо рдирд╛рдо рд╡рд┐рд░рд╛рд╕рдд рдЕрдиреБрдорд╛рдирдХ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреЗрд▓рд░реНрд╕ рдХреЛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЗ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХрд╛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдмрдХрд┐ рдкреАрд╕реАрдП рдЬреИрд╕реЗ рдореЙрдбрд▓ рдХреЛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝реАрдЪрд░ рдЪрдпрди рдЕрдиреБрдорд╛рдирдХреЛрдВ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬреЛ рд╢рд╛рдпрдж #2007 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ n_rows рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рджреМрд░рд╛рди рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЗрдирдкреБрдЯ рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ) рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [0, 1, 2, 3, ...]) рд╣реИ рдПрдВрдб-рдпреВрдЬрд╝рд░ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реИрдкрд░/рдореЗрдЯрд╛-рдЕрдиреБрдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рдиреА рд╣реИред

рд╕рд╛рде рд╣реА, рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ check_* рдПрдХ рдЦрд░рд╛рдм рдирд╛рдо рд╣реИ - рдореИрдВ рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рд╕рддреНрдпрд╛рдкрди рдХрд░ рд░рд╣рд╛ рдерд╛, рдФрд░ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рддрд░реНрдХ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдореЗрдВ рдЙрди рд╕рднреА рдЕрдиреБрдорд╛рдирдХреЛрдВ рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдк рдХрд░рддреЗ рд╣реИрдВред

рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЛ рдЙрдЪрд┐рдд рдирд╛рдо рд╡рд╛рд▓реЗ рдХреЙрд▓рдо @naught101 . рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рд░реНрдЬрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:-/ @amueller

рди рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди: рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╣ рдЗрдирдкреБрдЯ рдХреЙрд▓рдо рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред @GaelVaroquaux

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рд╣реИ рдХрд┐ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рддрдХ рдирд╛рдореЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рд╢рд╛рдпрдж рдЙрддреНрдкрддреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП? рдХреЛрдИ рдЗрд╕реЗ рдХрд╣рд╛рдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдЧрд╛?

рдореЗрд░реЗ рдПрдХ рджреЛрд╕реНрдд, @cbrummitt рдХреЛ рднреА рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЙрд╕рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП x^2, x^3, x_1^3x_2^2, рд╕рд┐рдореНрдкреА рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдкрдж рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдзрд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╣ рдкреБрд░рд╛рдиреЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓реЗрдиреЗ рдФрд░ рдирдП рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sympy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреЛ рдкрд░рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рдпрд╣ рд╕рдм рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрд╕реЗ рдЧреНрд░рд┐рдбрд╕рд░реНрдЪ рдЖрджрд┐ рдХрд╛ рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рддрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдХреИрд╕реЗ рд╣реИ рдЬреЛ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧреА рдЬреЛ рдХрд┐ рдбреЗрдЯрд╛ рд╣реА рдирд╣реАрдВ рд╣реИ? рдореИрдВ рдкрд╛рдЗрдкрд▓рд╛рдЗрди-рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд┐рдирд╛ рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░/рдЕрдиреБрдорд╛рдирдХ рдХреЛ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ, рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдХрдИ рдЪреАрдЬреЗрдВ, рдпрд╛ рдХреБрдЫ рд╡рд╛рдкрд╕ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ред

рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдП, рдЖрдкрдХреЛ _fit() рдФрд░ _transform() рдФрд░ рд╢рд╛рдпрдж рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рдпрд╣ рдкрд╛рдЧрд▓ рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдбреЗрдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рд┐рдореНрдкреА рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╣реЛ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдирдП рднрд╛рд╡ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рд╕рдХрд▓ рд╣реИ, check_array() рдЗрд╕реЗ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдЕрдиреНрдп рдЪрд░рдгреЛрдВ рдХреЛ рдирд╛рд░рд╛рдЬрд╝ рдХрд░ рджреЗрдЧрд╛ред

рд╡рд░реНрддрдорд╛рди рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП #6425 рджреЗрдЦреЗрдВред

рдЖрдк рд╕рднреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдкрд┐рдВрдЧ рд╣реЛ (рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд╣рд┐рдд)
рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░), рдЗрдирдкреБрдЯ рдлреАрдЪрд░ рдирд╛рдо рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдлреАрдЪрд░ рдирд╛рдо (рдпрд╛ рдХреБрдЫ .)
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╕рдВрд░рдЪрд┐рдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡, рдЬрд┐рд╕ рдкрд░ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ, рдЕрдзрд┐рдХ рд╣реИ
рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ)ред рдпрд╣реА #6425 рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

8 рдЕрдХреНрдЯреВрдмрд░ 2016 рдХреЛ 03:42 рдмрдЬреЗ, рдПрдВрдбреНрд░рд┐рдпрд╛рд╕ рдореНрдпреВрдПрд▓рд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рджреЗрдЦреЗрдВ #6425 https://github.com/scikit-learn/scikit-learn/issues/6425 рдХреЗ рд▓рд┐рдП
рд╡рд░реНрддрдорд╛рди рд╡рд┐рдЪрд╛рд░ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment -252301608,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAEz65fBsMwqmkDq3DEjMSUC-W-nfn9zks5qxnZxgaJpZM4GTHGc
.

рд╣рдо рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВрдЧреЗ, рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рд╢реНрд╡ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрдкрдбреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдкрд╛рдВрдбрд╛ DataFrame рд╕рдорд░реНрдерди рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд╛рдИрдПрдордПрдорд╡реА рдЪреАрдЬ рд╣реЛрдЧреА?
рдХреЗрд╡рд▓ рдПрдХ ndarray рдмрдЬрд╛рдп рдкрд╛рдВрдбрд╛ DataFrame рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд/рдХреНрдпрд╛ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред рд╢рд╛рдпрдж рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░реНрдЬ рдкрд░ рдХреБрдЫ (рдореЗрдб рдЕрдк рдЙрджрд╛рд╣рд░рдг рддрд╛рд▓рд┐рдХрд╛):

рдореЙрдбреНрдпреВрд▓/рд╢реНрд░реЗрдгреА|рдкрдВрдбреЛрдВ рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ DataFrame
--|--
sklearn.pipeline|рд╕реБрд░рдХреНрд╖рд┐рдд
sklearn.feature_selection|рд╕реБрд░рдХреНрд╖рд┐рдд
рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ|рд╡рд╛рдИрдПрдордПрдорд╡реА
sklearn.feature_extraction|рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ, рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ
рдЖрджрд┐|...

рдЕрднреА, рдореБрдЭреЗ "рдмрд╕ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

рд╣рдордиреЗ рд╣рд╛рде рд╕реЗ рдХреЛрдбрд┐рдд рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рд╣реА рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ рдЬрдм рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рддреБрдЪреНрдЫ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдШрдЯрдХ рд╕реНрд╡реИрдк рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕рдм рдХреБрдЫ рдПрдХ рдЧреБрдкреНрдд рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдореЗрдВ рддрд╛рд╢ рдХреЗ рдкрддреНрддреЛрдВ рдХреА рддрд░рд╣ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред

рдореЗрд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереА рдЬреЛ рдПрдХ рдкрд╛рдВрдбрд╛ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ DataFrame рдЬреЛ рдорд╛рдирдХ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ-рдЬреЗрдирд░реЗрдЯреЗрдб рд░реИрдкрд░ рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ DataFrame рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ numpy ndarray рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DataFrame рдЖрджрд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рднрд╛рд░реА рд╣рд╛рде рд▓рдЧрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм, рдЬрдм рд╣рдо рдЙрдирдХреЗ рд▓рд┐рдП "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХрдЧрд╛рд░ рдкрд░ рд╣реЛрдВред

рдореИрдВ рдХреБрдЫ рдЕрд▓рдЧ рдкреАрдЖрд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░/рдпрд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕реЛрдЪ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:
рдЙрджрд╛рд╣рд░рдг:

6425 (рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдКрдкрд░ рдЕрдХреНрдЯреВрдмрд░ 2016 рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд)

9012 (рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдХреЗрд▓реЗрд░-рдкрд╛рдВрдбрд╛ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?)

3886 (#9012 рд╕реЗ рдЖрдЧреЗ?)

рдпрд╣ "рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдЗрд╕ рдкрд░ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдЯрд┐рдХрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдлрд╝реНрд▓реЛрдЯ рдирдВрдмрд░ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рд╕реЗ рд╣реИ, рддреЛ рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдХрд╣реАрдВ рдПрдХ рднреА рддрд╛рд░ рд╣реЛ рддреЛ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдЧреИрд░-рддреБрдЪреНрдЫ (рдпрд╛ рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдорд╛рдореВрд▓реА) рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд▓реМрдЯрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡рд┐рдЬреНрдЮрд╛рди-рд╕реАрдЦрдиреЗ рд╡рд╛рд▓рд╛ рдЕрдиреБрдорд╛рдирдХ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдЧрд╛)ред

9012 рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдкреАрдЖрд░ рдПрдХ рдкрд╣рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реИ (рдпрд╛ 10 рд╡рд╛рдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рдпрджрд┐ рдЖрдк рдЧреИрд░-рд╡рд┐рд▓рдп рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ;)

6425 рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рдВрдбрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред

3886 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ #9012 . рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ #6425 рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ (рдХреБрдЫ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХреЗ рд▓рд┐рдП рдФрд░
рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓) рд╕рд┐рдВрдЧрд▓рдбрд┐рд╕реНрдкреИрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
https://codecov.io/gh/TeamHG-Memex/eli5 рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИред

21 рдЬреВрди 2017 рдХреЛ 13:25 рдмрдЬреЗ, рдПрдВрдбреНрд░рд┐рдпрд╛рд╕ рдореНрдпреВрдПрд▓рд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

9012 https://github.com/scikit-learn/scikit-learn/pull/9012 рд╣реЛрдЧрд╛

рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдкреАрдЖрд░ рдПрдХ рдкрд╣рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реИред

6425 https://github.com/scikit-learn/scikit-learn/issues/6425 рд╣реИ

рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рдВрдбрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред

3886 https://github.com/scikit-learn/scikit-learn/pull/3886 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ

#9012 . рд╕реЗ рдЖрдЧреЗ
https://github.com/scikit-learn/scikit-learn/pull/9012

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment-309952467 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAEz61lgGBW1AoukPm_87elBjF2NGOUwks5sGI0-gaJpZM4GTHGc
.

рдУрд╣ рдФрд░ рдЬрдм рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ "рдпрджрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдлреНрд▓реЛрдЯ рдирдВрдмрд░ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╕реЗ рд╣реИ, рддреЛ рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред" рдореЗрд░рд╛ рдорддрд▓рдм рд╕реНрдерд╛рди-рдЖрдзрд╛рд░рд┐рдд рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рд╕реЗ рд╣реИред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдХреЙрд▓рдо рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдорд╛рди рдорд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣ "рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдЗрд╕ рдкрд░ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдЯрд┐рдХрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдлрд╝реНрд▓реЛрдЯ рдирдВрдмрд░ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рд╕реЗ рд╣реИ, рддреЛ рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЕрдЧрд░ рдХрд╣реАрдВ рдПрдХ рднреА рддрд╛рд░ рд╣реЛ рддреЛ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИред

рд╣рдо рдорд┐рд╢реНрд░рд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ (рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕, рдлреНрд▓реЛрдЯреНрд╕, рдФрд░ рдЗрдирдЯреНрд╕) рдХреЛ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдпрд╛ рдореЙрдбрд▓реЛрдВ рдЬреИрд╕реЗ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдШрдЯрдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ/рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреНрд▓реЛрдЯреНрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдШрдЯрдХреЛрдВ (рдореМрдЬреВрджрд╛ рдЯреВрд▓реАрдВрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрддрд▓реЗ рд░реИрдкрд░ рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИрдВ) рдХреА рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореЗрд░реЗ рд╕рднреА рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рд▓реМрдЯ DataFrame рд░реЛрдВ рдЬрдм рджрд┐рдпрд╛ DataFrame рдПрд╕ред
рдЬрдм рдореИрдВ рдПрдХ 300-рдХреЙрд▓рдо DataFrame рдХреЛ Pipeline рдЗрдирдкреБрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ 500-рдХреЙрд▓рдо ndarray рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╕реАрдЦ рд╕рдХрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, feature_selection , рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм рдХреЙрд▓рдо рдирд╛рдо рдирд╣реАрдВ рд╣реИрдВред рдЕрдЧрд░, рдХрд╣реЗрдВ, mutual_info_classif рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдХреЙрд▓рдо 30 рдФрд░ 75 рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдореВрд▓ Pipeline рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдбреЗрдЯрд╛ рдХреЛ DataFrame рдореЗрдВ рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдзрдиреНрдпрд╡рд╛рджред

@ рд╕реИрдо-рдПрд╕ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред "рд▓рдШреБ" рдЕрд╡рдзрд┐ рдореЗрдВ, рдЗрд╕реЗ https://github.com/scikit-learn/scikit-learn/pull/13307 рдФрд░ https://github.com/scikit-learn/enhancement_proposals/pull/18 рджреНрд╡рд╛рд░рд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдкрдХреЛ рдПрдХ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдо рдирд╛рдо рдорд┐рд▓реЗрдЧрд╛ред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдХ рдФрд░ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджреНрдпрдкрд┐? рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рд╕рднреА рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЪреАрдЬреЗрдВ рдХрд╛рдо рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП)ред

https://github.com/pandas-dev/pandas/issues/27211 . рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдкрдбреЗрдЯ
рдЬреЛ рдореЗрд░реА рдЙрдореНрдореАрджреЛрдВ рдкрд░ рдкрд╛рдиреА рдлреЗрд░ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬреАрд░реЛ-рдХреЙрдкреА рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк рд╣реЛрдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдФрд░ рдЦреЛрд▓рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рдЧрдд рдЖрдПрдЧреАред

рдкрд╛рдВрдбрд╛-рджреЗрд╡/рдкрд╛рдВрдбрд╛#27211 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдкрдбреЗрдЯ рдЬреЛ рдореЗрд░реА рдЙрдореНрдореАрджреЛрдВ рдкрд░ рдкрд╛рдиреА рдлреЗрд░ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬреАрд░реЛ-рдХреЙрдкреА рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк рд╣реЛрдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдФрд░ рдЦреЛрд▓рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рдЧрдд рдЖрдПрдЧреАред

рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдлреАрдЪрд░ рдФрд░ рдирдореВрдирд╛ рдкреНрд░реЛрдк (рдкрдВрдХреНрддрд┐ рдирд╛рдо рдФрд░ "рд╕реВрдЪрдХрд╛рдВрдХ" рдереЛрдбрд╝реЗ рдирдореВрдирд╛ рдкреНрд░реЛрдк рд╣реЛрддреЗ рд╣реИрдВ) рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХреЗрд╕ рдЬрд┐рдиреНрд╣реЗрдВ рдереЛрдбрд╝реЗ рдкрд╛рдВрдбрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╣реИ рдирд╛?

@adrinjalali рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдереЛрдбрд╝реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХреЗрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реЗ рдкрд╛рдВрдбрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЗ рднреАрддрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдВрдбреЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛, рдмрд▓реНрдХрд┐ рдкрдВрдбреЛрдВ-рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрд╛ред

рдмрд╕ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░, рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордп рд╕реАрдорд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рдкрдВрдбреЛрдВ рдХреА рдЕрдиреБрдХреВрд▓рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ? рдореБрдЭреЗ рдкрдВрдбреЛрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ -> рдкрд╛рдВрдбрд╛ StandardScaler рд▓рд┐рдП рдмрд╛рд╣рд░ред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореБрдЭреЗ Pipeline рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди) рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реБрд╡рд┐рдзрд╛ рдЪрдпрди рдЪрд░рдг рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛рдПрдБ, 2) рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЪрд░рдг, 3) рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдпрд╛ рдореВрд▓ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдЪрдпрди рдЪрд░рдг, 4) рдорд╛рдирдХреАрдХрд░рдг, 5) рд╡рд░реНрдЧреАрдХрд░рдгред

рдЪрд░рдг 3) рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдХреЗрд▓реЗрд░ рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд░рдгреА рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рднреА, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рдлреАрдЪрд░ рдЗрдВрдбреЗрдХреНрд╕ рддрдм рдЕрд░реНрдерд╣реАрди рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдбреЗрдЯрд╛ 3 рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рдХреНрдпреЛрдВрдХрд┐ 1) рдореЗрдВ рдПрдХ рдлреАрдЪрд░ рдЪрдпрди рдЪрд░рдг рдерд╛ред рдпрджрд┐ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХреЙрд▓рдо рдирд╛рдо рд╕реЗ 3 рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ)ред

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдЧрд▓рдд рд╣реВрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ numpy array рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ?

рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдорд╛рдореВрд▓реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рд╣рдо рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдлреАрдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ)ред рдПрдХ рдмрд╛рд░ рдпрд╣ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк https://github.com/scikit-learn-contrib/sklearn-pandas рдкрд░ рднреА рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ

рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдорд╛рдореВрд▓реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рд╣рдо рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдлреАрдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ)ред рдПрдХ рдмрд╛рд░ рдпрд╣ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред

рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рдБ, рдлреАрдЪрд░ рдирд╛рдореЛрдВ (рдпрд╛ рдЕрдиреНрдп рдлреАрдЪрд░ рдЧреБрдгреЛрдВ) рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдлреАрдЪрд░ рдЪрдпрди рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рдареАрдХ рд╕реЗ рдХрдЯрд╛ рд╣реБрдЖ рд╣реЛрдирд╛ рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк https://github.com/scikit-learn-contrib/sklearn-pandas рдкрд░ рднреА рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдкрдврд╝рд╛ рдерд╛ рдФрд░ рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ (рдпрд╛ рд╕рднреА) рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЕрдм scikit-learn 0.21 рдореЗрдВ sklearn.compose.ColumnTransformer рд╕рд╛рде рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реИрдВ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдкрд╛рдВрдбрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рд╕реБрдиреНрди рд╕рд░рдгрд┐рдпреЛрдВ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

(рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдлреАрдЪрд░ рдЪрдпрди рдореЗрдВ рдкрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛
рдмрд╣реБрдд...)

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдкрд░, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪреЗрдВ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдХрдИ рдЬрдЧрд╣реЛрдВ рдкрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╣реЛрддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/scikit-learn/scikit-learn/blob/939fa3cccefe708db7a81c5248db32a1d600bf8d/sklearn/utils/validation.py# рдПрд▓619

рд╕рд╛рде рд╣реА рдХрдИ рдСрдкрд░реЗрд╢рди рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдиреБрдХреАрд▓реЗ рдЕрдВрджрд╛рдЬ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд╛рдВрдбрд╛ рдХреЛ рдЕрдВрджрд░/рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдбреЗрдЯрд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдЖрдИрдПрдордУ рдХреЗ рд▓рд┐рдП рдЬрд░реВрд░реА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рдЬреНрдЮрд╛рди-рд╕реАрдЦрдирд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдбреЗрдЯрд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдЖрдИрдПрдордУ рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рдХреЛ рдЕрдВрджрд░/рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдЬрд░реВрд░реА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди
рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ рдмрдирд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛
рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ред

рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд░ рдЕрдЪреНрдЫреЗ рдЕрдВрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рд╡реЗ рдиреНрдпрд╛рдпрд╕рдВрдЧрдд рд╣реИрдВ
рдЙрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╣реБрднрд┐рдиреНрдирд░реВрдкреА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП (рд╕рдВрдЦреНрдпрд╛рддреНрдордХ)
рдХреЙрд▓рдо рднрд░ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди)ред

рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд▓реНрдЯреАрд╡реЗрд░рд┐рдПрдЯ рдиреНрдпреВрдореЗрд░рд┐рдХреНрд╕ рд╣реИред

рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд░ рдЕрдЪреНрдЫреЗ рдЕрдВрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рд╡реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╣реБрднрд┐рдиреНрдирд░реВрдкреА рд╕рдВрдЪрд╛рд▓рди (рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдВрдЪрд╛рд▓рди) рдХреЗ рд▓рд┐рдПред рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд▓реНрдЯреАрд╡реЗрд░рд┐рдПрдЯ рдиреНрдпреВрдореЗрд░рд┐рдХреНрд╕ рд╣реИред

рд╡рд╣ рдирд┐рд░реНрдгрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдкрд┐рдЫрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛ рдореБрдЦреНрдп рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛рдПрдВ рдЧрд╛рдпрдм рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рд╕реЗ рдПрдордПрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдирдореВрдирд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╕рдорд░реНрдерди рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рддрд░реАрдХрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдФрд░ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛рдПрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдЕрдиреНрдпрдерд╛ рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдПрдордПрд▓рдЖрд░ 3 рдЕрдВрддрддрдГ рд╕реНрдХреЗрд▓реЗрд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рдХрд░реЗрдВрдЧреЗ)ред

рд╡рд╣ рдирд┐рд░реНрдгрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЦреИрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЕрдиреНрдпрдерд╛ рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдПрдордПрд▓рдЖрд░ 3 рдЕрдВрддрддрдГ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдХреЗрд▓реЗрд░ рд╕реЗ рджреВрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рдХрд░реЗрдВрдЧреЗ)
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

рдПрдордПрд▓рдЖрд░ 3 рдЖрд░ рдореЗрдВ рд╣реИ, рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИрдВред
рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдлреАрдЪрд░ рдирд╛рдореЛрдВ рдФрд░ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерди
рдкреНрд░рдХрд╛рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рдо рдЕрдЪреНрдЫреЗ рддрдХрдиреАрдХреА рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдЬрд┐рд╕рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреЛрдб рдХрд╛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╡рд╣ рдирд┐рд░реНрдгрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЦреИрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЕрдиреНрдпрдерд╛ рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдПрдордПрд▓рдЖрд░ 3 рдЕрдВрддрддрдГ рд╕реНрдХреЗрд▓реЗрд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рдХрд░реЗрдВрдЧреЗ)ред
рдПрдордПрд▓рдЖрд░ 3 рдЖрд░ рдореЗрдВ рд╣реИ, рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИрдВред рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдлреАрдЪрд░ рдирд╛рдореЛрдВ рдФрд░ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рдо рдЕрдЪреНрдЫреЗ рддрдХрдиреАрдХреА рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреЛрдб рдХрд╛ рдиреБрдХрд╕рд╛рди рди рд╣реЛред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реБрдиреНрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рдкрдХреЗ рд░рд╣рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдХрдо рд╕реЗ рдХрдо рдкрд╛рд╕рд┐рдВрдЧ рдлреАрдЪрд░ рдирд╛рдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ рдорд▓реНрдЯреАрдкрд▓ рдлреАрдЪрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрдИ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдирд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА **fit_params рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ https://github.com/scikit-learn/enhancement_proposals/pull/16 рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдРрд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ transform рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рдирдореВрдирд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ .

рдПрдордПрд▓рдЖрд░ 3 рдЖрд░ рдореЗрдВ рд╣реИ, рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИрдВред

рдЬреАрд╡рди рд╡рд┐рдЬреНрдЮрд╛рди рдЕрдиреБрд╕рдВрдзрд╛рди рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЖрдорддреМрд░ рдкрд░ рдЕрдЬрдЧрд░ рдФрд░ рдЖрд░ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╣рдЬ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рд╕реНрд╡рдпрдВ рд╢рд╛рдорд┐рд▓)ред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡рд┐рдЬреНрдЮрд╛рди рд╕реАрдЦрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╢рдд рдЬреАрд╡рди рд╡рд┐рдЬреНрдЮрд╛рди рд╢реЛрдзрдХрд░реНрддрд╛ рд╣реИрдВред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрд░ рдЖрдИрдПрдордПрдЪрдУ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкрд░рд┐рдкрдХреНрд╡ рдПрдордПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдПрдордПрд▓ рдХреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╡рд╛рджреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрд╣реБрдд рд╕реАрдзрд╛ (рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдЦреЛрдЬ, рд╕реНрдХреЛрд░рд┐рдВрдЧ рдЗрддреНрдпрд╛рджрд┐) рдмрдирд╛рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рди-рд╕реАрдЦрдиреЗ рдХреЗ рдХрд░реАрдм рднреА рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЖрд░ рдореЗрдВ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди mlr3 рдореИрдВ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреА рдмрдбрд╝реА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд╕реЗ рдЬрдореАрди рд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдкрд░ рдЕрдЪреНрдЫреЗ рдЕрдВрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рд╡реЗ рдиреНрдпрд╛рдпрд╕рдВрдЧрдд рд╣реИрдВ
рдЙрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╣реБрднрд┐рдиреНрдирд░реВрдкреА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП (рд╕рдВрдЦреНрдпрд╛рддреНрдордХ)
рдХреЙрд▓рдо рднрд░ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди)ред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХреЛ рдЦреЛрд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ ( df.values рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдЧрдгрдирд╛рдПрдБ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рдирдП рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкрд░ рд╡рд╛рдкрд╕ рд▓рдкреЗрдЯреЗрдВ?

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВ рдЪрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ Pipeline рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХрддреА рд╣реИред

рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕реЗ рдЦреЛрд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛
DataFrame (df.values тАЛтАЛтАЛтАЛрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рдирдП рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рдкреЗрдЯреЗрдВ
рдбреЗрдЯрд╛ рдврд╛рдВрдЪрд╛ ?

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдирд╣реАрдВ: рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (рд╡рд┐рд╖рдо рд╕реНрддрдВрдн), рдФрд░ рдпрд╣ рд╣реЛрдЧрд╛
рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рдХреЙрдкреА рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдирд╣реАрдВ: рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (рд╡рд┐рд╖рдо рд╕реНрддрдВрдн)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рдо рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рдХреЙрдкреА рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХрдард┐рди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдФрд░ рдпрд╣ рдПрдХ рдареЛрд╕ рддрд░реНрдХ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЖрдк рдпрд╣ рддрд░реНрдХ рдХреНрдпреЛрдВ рджреЗрдВрдЧреЗ рдХрд┐ рд╕реНрдХреЗрд▓реЗрд░ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓рдо рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдбреАрдПрдл рдХреЛ рдирд┐рдЧрд▓рдирд╛, рдПрдХ рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛, рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд░рдирд╛, рдПрдХ рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдирд╛, рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рд╣рд╛рдЗрдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдПрдХреАрдХреГрдд рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗред

рдЗрд╕реЗ рдкрд╛рдВрдбрд╛ рдХреЗ рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо, рдЖрд╕рд╛рди рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡рд╣ рдкреНрд░рджрд░реНрд╢рдиреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдХрд░реЗред

рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдирд╣реАрдВ рдкрдврд╝рддреЗ рд╣реИрдВ рдЬреЛ
рдРрд╕реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░
рдЬрдм рд╡реЗ рдЗрд╕реЗ рдзреАрдорд╛ рдкрд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рд╛рд░ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ, рдпрд╣ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рдХрд┐ рдпрд╣ рдЙрдирдХреА рдкрд╕рдВрдж рдереА
рджрд╛рд░рдлреНрд░реЗрдо рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдРрд╕рд╛ рдмрдирд╛рдпрд╛ред

рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдереЛрдбрд╝реА рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдХрджрдо рдмрдврд╝рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╣рд▓ рдХрд░рддреЗ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдпрд╣ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирдореВрдирд╛ рдФрд░ рдлреАрдЪрд░ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЛ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЯреНрд░реЗрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдлрд┐рдЯ/рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдореЗрдВ рдареАрдХ рд╕реЗ рдкрд╛рд╕ рдХрд░рдирд╛ рдФрд░ рдЯреБрдХрдбрд╝рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдбреЗрдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХреНрд╕ рдХреА рдЧрддрд┐ рдХреЛ numpy arrays рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ред

рдЗрд╕ рддрд░реНрдХ рд╕реЗ рдЧрд╛рдпрдм рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕реНрддрдВрдн рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рд╕реЗ np.array(pd.DataFrame(numpy_data)) рдореЗрдВ рджреЛ _рдЧрд╛рд░рдВрдЯреА_ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рд░рдЦрдирд╛ рдФрд░ values рдЬрдм рднреА рд╣рдореЗрдВ рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЗрд╕ рддрд░реНрдХ рд╕реЗ рдЧрд╛рдпрдм рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕реНрддрдВрдн рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рд╕реЗ np.array(pd.DataFrame(numpy_data)) рдореЗрдВ рджреЛ _рдЧрд╛рд░рдВрдЯреА_ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рд░рдЦрдирд╛ рдФрд░ values рдЬрдм рднреА рд╣рдореЗрдВ рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдерд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХреНрд╕ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рддреЗрдЬреА рд╕реЗ рд╕реБрдиреНрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦреЗрдВред рд▓реЗрдХрд┐рди рдХрдИ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдврд╛рдВрдЪреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рд╣реИ, рдпрд╛рдиреА рдирдореВрдирд╛ рдЧреБрдг рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдЧреБрдгред рдпрд╣ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдмреЛрдЭ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рджреЛ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдПрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдорд╛рдореВрд▓реА рд╣реЛрдВрдЧреА рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрди рдкрд░ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рд╛рдВ, рд╡реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрдИ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЙрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрджреНрджрд╛ рдЙрд╕рд╕реЗ рдкрд░реЗ рд╣реИ: https://github.com/scikit-learn/scikit-learn/issues/5523#issuecomment -508807755

@hermidalc рдХреНрдпрд╛ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо X рдХреЛ рдПрдХ рд╕реБрд╕реНрдкрд╖реНрдЯ рд╕рд░рдгреА рд╣реЛрдиреЗ рджреЗрдВ, рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ?

@hermidalc рдХреНрдпрд╛ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо X рдХреЛ рдПрдХ рд╕реБрд╕реНрдкрд╖реНрдЯ рд╕рд░рдгреА рд╣реЛрдиреЗ рджреЗрдВ, рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ?

рд╣рд╛рдБ, рдкрд╛рдВрдбрд╛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХреЗ рд░реВрдк рдореЗрдВ рдирдореВрдирд╛ рдЧреБрдгреЛрдВ рдФрд░ рдлрд╝реАрдЪрд░ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдердиред рдЕрдиреНрдп рдкреАрдЖрд░ рдФрд░ рдореБрджреНрджреЛрдВ рдореЗрдВ рдирдореВрдирд╛ рдЧреБрдгреЛрдВ рдФрд░ рдлреАрдЪрд░ рдирд╛рдореЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реЛ рд░рд╣реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ #9566 рдФрд░ #14315

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рджреЛ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реИрдВ:

  1. https://github.com/pandas-dev/pandas/issues/27211
  2. рд╡рд╣ рдкрд╛рдВрдбрд╛ рдПрдирдбреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп xarrays рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ? рдЙрдирдХреЗ рдкрд╛рд╕ рдкрд╛рдВрдбрд╛ рдХреА рд╡рд╣ рд╕реАрдорд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВред

X = np.arange(10).reshape(5, 2)
assert np.asarray(xr.DataArray(X)) is X
assert np.asarray(xr.Dataset({"data": (("samples", "features"), X)}).data).base is X.base

sklearn-xarray рдирд╛рдордХ рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ: https://phausamann.github.io/sklearn-xarray/content/wrappers.html рдЬреЛ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ xarrays рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП scikit рдЕрдиреБрдорд╛рдирдХреЛрдВ рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рдирд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рд╡рд░реНрд╖реЛрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рд░реИрдкрд░ рдпрд╣рд╛рдВ рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

xarray рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЗрд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: https://github.com/scikit-learn/scikit-learn/pull/16772 рдкреАрдЖрд░ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛, рдЗрд╕ рдкрд░ рдПрдХ рдЙрдкрдпреЛрдЧ рдиреЛрдЯрдмреБрдХ рд╣реИред

(0.23 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛)

рдореБрдЭреЗ рднреА рдЗрд╕ рдлреАрдЪрд░ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред
рдпрд╣ рдЕрдирдВрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рд╡рд╣ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореИрдВрдиреЗ sklearn.preprocessing рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд░реИрдкрд░ рд▓рд┐рдЦрд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ sklearn_wrapper

рдЗрд╕рд▓рд┐рдП sklearn.preprocessing рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореИрдВ sklearn_wrapper рд╕реЗ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

# this
from sklearn.preprocessing import StandardScaler 
# becomes 
from sklearn_wrapper import StandardScaler

рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдиреАрдЪреЗред рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ

from functools import wraps
from itertools import chain

import pandas as pd
from sklearn import preprocessing, compose, feature_selection, decomposition
from sklearn.compose._column_transformer import _get_transformer_list

modules = (preprocessing, feature_selection, decomposition)


def base_wrapper(Parent):
    class Wrapper(Parent):

        def transform(self, X, **kwargs):
            result = super().transform(X, **kwargs)
            check = self.check_out(X, result)
            return check if check is not None else result

        def fit_transform(self, X, y=None, **kwargs):
            result = super().fit_transform(X, y, **kwargs)
            check = self.check_out(X, result)
            return check if check is not None else result

        def check_out(self, X, result):
            if isinstance(X, pd.DataFrame):
                result = pd.DataFrame(result, index=X.index, columns=X.columns)
                result = result.astype(X.dtypes.to_dict())
            return result

        def __repr__(self):
            name = Parent.__name__
            tmp = super().__repr__().split('(')[1]
            return f'{name}({tmp}'

    Wrapper.__name__ = Parent.__name__
    Wrapper.__qualname__ = Parent.__name__

    return Wrapper


def base_pca_wrapper(Parent):
    Parent = base_wrapper(Parent)

    class Wrapper(Parent):
        @wraps(Parent)
        def __init__(self, *args, **kwargs):
            self._prefix_ = kwargs.pop('prefix', 'PCA')
            super().__init__(*args, **kwargs)

        def check_out(self, X, result):
            if isinstance(X, pd.DataFrame):
                columns = [f'{self._prefix_}_{i}' for i in range(1, (self.n_components or X.shape[1]) + 1)]
                result = pd.DataFrame(result, index=X.index, columns=columns)
            return result

    return Wrapper


class ColumnTransformer(base_wrapper(compose.ColumnTransformer)):

    def check_out(self, X, result):
        if isinstance(X, pd.DataFrame):
            return pd.DataFrame(result, index=X.index, columns=self._columns[0]) if self._remainder[1] == 'drop' \
                else pd.DataFrame(result, index=X.index, columns=X.columns). \
                astype(self.dtypes.iloc[self._remainder[-1]].to_dict())


class SelectKBest(base_wrapper(feature_selection.SelectKBest)):

    def check_out(self, X, result):
        if isinstance(X, pd.DataFrame):
            return pd.DataFrame(result, index=X.index, columns=X.columns[self.get_support()]). \
                astype(X.dtypes[self.get_support()].to_dict())


def make_column_transformer(*transformers, **kwargs):
    n_jobs = kwargs.pop('n_jobs', None)
    remainder = kwargs.pop('remainder', 'drop')
    sparse_threshold = kwargs.pop('sparse_threshold', 0.3)
    verbose = kwargs.pop('verbose', False)
    if kwargs:
        raise TypeError('Unknown keyword arguments: "{}"'
                        .format(list(kwargs.keys())[0]))
    transformer_list = _get_transformer_list(transformers)
    return ColumnTransformer(transformer_list, n_jobs=n_jobs,
                             remainder=remainder,
                             sparse_threshold=sparse_threshold,
                             verbose=verbose)


def __getattr__(name):
    if name not in __all__:
        return

    for module in modules:
        Parent = getattr(module, name, None)
        if Parent is not None:
            break

    if Parent is None:
        return

    if module is decomposition:
        Wrapper = base_pca_wrapper(Parent)
    else:
        Wrapper = base_wrapper(Parent)

    return Wrapper


__all__ = [*[c for c in preprocessing.__all__ if c[0].istitle()],
           *[c for c in decomposition.__all__ if c[0].istitle()],
           'SelectKBest']


def __dir__():
    tmp = dir()
    tmp.extend(__all__)
    return tmp

https://github.com/koaning/scikit-lego/issues/304 рдиреЗ sklearn.pipeline.FeatureUnion рдкрд░ рд╣реЙрдЯ-рдлрд┐рдХреНрд╕рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕