Evalml: рдПрдХ рд╣реЙрдЯ рдПрдирдХреЛрдбрд░: рджреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдорд╛рд░реНрдЪ 2021  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: alteryx/evalml

рд╣рдорд╛рд░рд╛ рдПрдХ рд╣реЙрдЯ рдПрдирдХреЛрдбрд░ рдореВрд▓ рд╢реНрд░реЗрдгреАрдмрджреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╣рд░ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрдирд╛рддрд╛ рд╣реИ:

from evalml.pipelines import OneHotEncoder
import pandas as pd
df = pd.DataFrame({"category": ["a", "b"], "number": [4,5 ]})
OneHotEncoder().fit_transform(df).to_dataframe()

image

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

рдПрдлрд╡рд╛рдИрдЖрдИ @ рдЖрд░рдкреЗрдХ

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

рд╕рдВрд╣рд┐рддрд╛ рдХрд╛ рддреАрд╕рд░рд╛ рдирд┐рдпрдо: рдЖрдк рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ == рдлреНрд▓реЛрдЯреНрд╕ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛

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

ЁЯТп % рд╣рдореЗрдВ рдиреЗрдЧреЗрдЯрд┐рд╡-рдХреЗрд╕ рдХреЙрд▓рдо рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рд╣рдо рдкрд╣рд▓реЗ рдУрдПрдЪрдИ рд╕реНрд╡рдпрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕реНрдХреЗрд▓реЗрд░ рдЙрдирдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдлреНрд░реЗрдбреА рдиреЗ рдХрд╣рд╛ рдерд╛, рдЖрдк рдЗрд╕реЗ рджреЛ рд╕реНрддрдВрднреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреВрд░реНрдг рд╕рдорд░реВрдкрддрд╛ рд╣реИред

рдмрд╛рдЗрдирд░реА рдХреЛ рдПрдХ рдХреЗ рдмрдЬрд╛рдп рджреЛ рдХреЙрд▓рдо рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ:

  1. рдлреАрдЪрд░ рдХреЙрд▓рд▓рд╛рдЗрдирд░рд┐рдЯреА рдХреЗ рдЕрдиреНрдп рд░реВрдкреЛрдВ рдХреА рддрд░рд╣ рдпрд╣ рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХрддрд╛ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдореВрд▓ рд╕реНрд░реЛрдд рдХреЙрд▓рдо рдХрд╛ рдкреНрд░рднрд╛рд╡ рджреЛ рдУрдПрдЪрдИ рдХреЙрд▓рдо рдХреЗ рдмреАрдЪ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдлрд╝реНрд░реЗрдбреА рдХреЗ рдирдП SHAP рд░реЛрд▓рдЕрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝реАрдЪрд░ рдорд╣рддреНрд╡ рдФрд░ рдЖрдВрд╢рд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд▓реЙрдЯ рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рдореЗрдВ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред
  2. рд░реИрдВрдбрдо рдлрд╝реЙрд░реЗрд╕реНрдЯ рдФрд░ GBM рдЬреИрд╕реЗ рдЯреНрд░реА рдореЙрдбрд▓ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЕрдкрдиреА рдЗрдирдкреБрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдирдореВрдирд╛ рд▓реЗрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЙрд▓рдо рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рджреЛ рдмрд╛рд░ рдирдореВрдирд╛ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рддрдиреА рдмрд╛рд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдореЙрдбрд▓ рдкрд░ рдПрдХ рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@freddyaboulton Q: рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдЙрдиреНрд╣реЗрдВ рдлрд╝реНрд▓реЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпреЗ рд╕рдЪ рдореЗрдВ рд╕рдЪ рд╣реИ?

@ рд░рдкреЗрдХ рд╣рд╛рдБ!

@freddyaboulton Whatthe? рд╡рд╣ рдЕрдЬреАрдм рд╣реИред рдореИрдВрдиреЗ рд╕рдЪреНрдЪреЗ рдмреВрд▓рд┐рдпрди, рдпрд╛ 0/1 рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЯреНрд░реА рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмреБрд░реА рдЧрдВрдз рд╣реИред

рд╕рдВрд╣рд┐рддрд╛ рдХрд╛ рддреАрд╕рд░рд╛ рдирд┐рдпрдо: рдЖрдк рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ == рдлреНрд▓реЛрдЯреНрд╕ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛

(рдареАрдХ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ Math.NaN рдХреЗ рд╕рд╛рде рди рд╣реЛ)

рд╣рдореНрдо, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рд╣рдо рдпрд╣ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЭрдВрдбрд╛ рдерд╛ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд╣рд┐рддрд╛рд░реНрде рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛ред

@dsherry @freddyaboulton рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ drop рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерди рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ impl рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ drop рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреА рд╣реИ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВ?

https://github.com/alteryx/evalml/blob/91775ffc26c47205adc0fb255832d828ead6e7c9/evalml/pipelines/components/transformers/encoders/onehot_encoder.py#L28

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html

рд╣рдо рдпрд╛ рддреЛ first рдпрд╛ if_binary , рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд╣реА рдХреЙрд▓ рдХреНрдпрд╛ рд╣реИред

@ Angela97lin рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдмрджрд▓рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ first рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛> 2. рд╣реЛрдиреЗ рдкрд░ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реЗрдЦ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ @rpeck ?

рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдкрдврд╝ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ рдкрд╛рдпрд╛: https://inmachineswetrust.com/posts/drop-first-columns/

рдЪрд╛рдмреА рдЫреАрдирдирд╛:

  • рдирд┐рдпрдорд┐рддреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдУрдПрд▓рдПрд╕ рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╕рдордп рдХреЗрд╡рд▓ рдХреЙрд▓рдо рдЫреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд░реИрдЦрд┐рдХ рдкреНрд░рддрд┐рдЧрд╛рдореА рдЗрд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддрд╛ рд╣реИ: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html, https:// scikit-learn.org/stable/modules/linear_model.html#ordinary-least-squares)
  • рдПрдХ-рд╣реЙрдЯ рдПрдиреНрдХреЛрдбреЗрдб рдХреЙрд▓рдо рдХреЛ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдПрдХ рд░реЗрдЦреАрдп рдкреНрд░рддрд┐рдЧрдорди рдореЙрдбрд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдореЙрдбрд▓ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рддрдп рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЖрд░рдИ @rpeck рдХреА рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА: "рдлреАрдЪрд░

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

рд╢рд╛рдпрдж рд╣рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЕрдиреБрдорд╛рдирдХ рдПрдХ рд░реИрдЦрд┐рдХ рдкреНрд░рддрд┐рдЧрд╛рдореА рд╣реИ рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ first рд╕рд╛рде OHE рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП make_pipeline рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХрд╛рд╢, рдореБрдЭреЗ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧрдгрд┐рдд рдкрд░ рдПрдХ рдордЬрдмреВрдд рд╕рдордЭ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реБрдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ , @freddyaboulton @rpeck @dsherry

рдЪрд░реНрдЪрд╛ рдХреЗ рдмрд╛рдж @freddyaboulton @rpeck @dsherry @chukarsten @jeremyliweishih рдХреЗ рд╕рд╛рде

  • рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдмрд╛рдЗрдирд░реА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред
  • рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ "рдЕрдЪреНрдЫрд╛-рд╕реЗ-рд╣реИрд╡" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЕрд▓реНрдкрд╕рдВрдЦреНрдпрдХ рд╡рд░реНрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдпрдерд╛ рдХреЗрд╡рд▓ рджреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪреБрдирдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рдПрдВрдЬреЗрд▓рд╛ 97 рд▓рд┐рди рдЕрдЪреНрдЫрд╛ рдЖрд░рдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд▓рдЧрддрд╛ рд╣реИред рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ: рдШрдЯрдХ рдкреИрд░рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛

@dsherry рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо drop (рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░) рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдШрдЯрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦреЗрдВрдЧреЗ?

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

рдЙрд╕ рдЦреБрджрд╛рдИ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

  • рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдЪреБрдирдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╢реНрд░реЗрдгреА рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИред рдкреНрд░рд▓реЗрдЦрди рд╕реЗ, рдпрд╣ drop рдкреИрд░рд╛рдореАрдЯрд░ (https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html) рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд, рдЬреЛ рдХреЙрд▓рдо 0 рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕ 0 рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢реНрд░реЗрдгреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреЙрд▓рдо 1 рдФрд░ 2 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рдорд╛рди рдирд╣реАрдВ рд╣реИ:
import pandas as pd
import numpy as np
from sklearn.preprocessing import OneHotEncoder

X = pd.DataFrame({'col_1': ["a", "b", "b", "a", "b"],
                      'col_2': ["a", "b", "a", "c", "b"],
                      'col_3': ["a", "a", "a", "a", "a"]})

indices_to_drop = np.array([0, None, None])

ohe = OneHotEncoder(drop=indices_to_drop)
ohe.fit(X)
ValueError                                Traceback (most recent call last)
<ipython-input-4-a099fa2fc4a7> in <module>
----> 1 ohe.fit(X)

~/Desktop/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py in fit(self, X, y)
    417         self._fit(X, handle_unknown=self.handle_unknown,
    418                   force_all_finite='allow-nan')
--> 419         self.drop_idx_ = self._compute_drop_idx()
    420         return self
    421 

~/Desktop/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py in _compute_drop_idx(self)
    394                                 ["Category: {}, Feature: {}".format(c, v)
    395                                     for c, v in missing_drops])))
--> 396                 raise ValueError(msg)
    397             return np.array(drop_indices, dtype=object)
    398 

ValueError: The following categories were supposed to be dropped, but were not found in the training data.
Category: 0, Feature: 0
Category: 1, Feature: None
Category: 2, Feature: None

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЖрдзрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ: https://github.com/scikit-learn/scikit-learn/issues/16511

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

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

рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди:
OHE рджрд╕реНрддрд╛рд╡реЗрдЬрд╝: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдореЗрдВ рдХреЛрдб рдЕрдирдореНрдпрддрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ: https://github.com/scikit-learn/scikit-learn/blob/95119c13af77c76e150b753485c662b7c52a41a2/sklearn/preprocessing/_encoders.py#L338
рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛: https://github.com/scikit-learn/scikit-learn/issues/16511


if_binary рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: scikit-learn рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ handle_unknown error ред рдпрд╣ рд╣рдорд╛рд░реЗ top_n рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдЦреЗрд▓рддрд╛ рд╣реИ, рдЬреЛ рд╢реАрд░реНрд╖ рдПрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдирдИ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдмреЗрдХреНрдХрд╛ рдиреЗ https://github.com/alteryx/evalml/pull/830 рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдореЗрдВ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП top_n рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╢рд╛рдпрдж рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЗрдореНрдкреНрд▓рд╛рдВрдЯ . рд░реЛрд▓ рдХрд░реЗрдВ

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dsherry picture dsherry  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bchen1116 picture bchen1116  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

npapan69 picture npapan69  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dsherry picture dsherry  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dsherry picture dsherry  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ