Data Preprocessing 06: One Hot Encoding python | Scikit Learn | Machine Learning

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 102

  • @ngneerin
    @ngneerin 2 ปีที่แล้ว +27

    This is so straightforward. No other source where it's so simply put

  • @_danfiz
    @_danfiz 2 ปีที่แล้ว +6

    This is a good, direct steps to use ohe. This helps me alot. Thank you!

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      You're welcome!

  • @aliyildirim5343
    @aliyildirim5343 ปีที่แล้ว

    Amazing explanation! Left no questions in my mind...

  • @kyleiong7311
    @kyleiong7311 ปีที่แล้ว

    REALLLY REALLY HELPFUL YOU SAVE MY DAY!!!!!

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You're welcome!

  • @violetasaguier1370
    @violetasaguier1370 2 ปีที่แล้ว +3

    Very good video greetings from Argentina land of LEO MESSI

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว +2

      Thank you. I like Leo Messi a lot.

  • @nirajkhatri2017
    @nirajkhatri2017 ปีที่แล้ว +1

    Great video regarding ohe using sklearn . Describe everything that we need to understand. Thank you

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Glad it was helpful!

  • @ashutoshdongare5370
    @ashutoshdongare5370 ปีที่แล้ว +3

    Great Tutorial...Only thing is that ravel() does not work for uneven arrays, one need to use concat or hstack

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Thank you for sharing. I will try.

    • @ZAZ069
      @ZAZ069 10 หลายเดือนก่อน

      thanks my man

    • @SMoon453
      @SMoon453 7 หลายเดือนก่อน

      Thank you dude! I was wondering why ravel() wasn't working for me

  • @arenashawn772
    @arenashawn772 10 หลายเดือนก่อน

    I think if you specify “sparse_output = False” when initializing the OneHotEncoder, the resulted ohe instance will not be a scipy csr_matrix and you won’t need to use the toarray() method to see the resulted matrix. But obviously it uses more storage this way…

    • @StatsWire
      @StatsWire  10 หลายเดือนก่อน

      Yes

  • @RR-hq4cv
    @RR-hq4cv 2 ปีที่แล้ว +2

    Thank you for the tutorial! In cells [14] & [15] I couldn't make a straight array to later pass it as column names. So I used this line of code (from sklearn documentation): feature_labels = ohe.get_feature_names_out()
    print(feature_labels)

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      Great!

    • @ajeyamandikal2010
      @ajeyamandikal2010 2 ปีที่แล้ว +1

      Thanks bro, was searching for this!

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      @@ajeyamandikal2010 You're welcome

  • @fullnesmindcristiano8638
    @fullnesmindcristiano8638 2 ปีที่แล้ว +1

    Hello friend, is this method used to predict data or what is the method used to predict data?

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว +1

      This method is to convert categorical columns into numerical columns for machine learning model

  • @poojakumarirollno9880
    @poojakumarirollno9880 ปีที่แล้ว

    great explaining sir .your video helped as .make more videos recarding data science

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Thank you for your kind words!

  • @jeanfabraruiz7994
    @jeanfabraruiz7994 2 ปีที่แล้ว +1

    After doing this, should I remove the columns color and country?

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว +1

      Yes, use dummy columns.

  • @mdhasanuzzaman4039
    @mdhasanuzzaman4039 ปีที่แล้ว

    Thank you so much
    Great Tutorial

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You're welcome!

  • @fefefefezzz
    @fefefefezzz ปีที่แล้ว

    Very good video! Helped me a lot! Thanks ❤❤

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You're welcome!

  • @Mob-IN-8606
    @Mob-IN-8606 ปีที่แล้ว

    good video bro but could be better if you droped the unnessessary columns like color and country

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Thank you. This video was only for encoding purpose not for feature selection :)

  • @ibragim_on
    @ibragim_on 2 ปีที่แล้ว

    Greate tutorial!

  • @emanuelea9967
    @emanuelea9967 2 ปีที่แล้ว +1

    Hi! Great video but I have a question for you. Can i map, from one categories, es "STATE", with 30 different states, an onehotencoder that map for example, 5 states in a new categories Europe, 6 in America, and so on, without create 30 different new binary categories with every states?

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      Yes you can!

  • @alonzoslim
    @alonzoslim 11 หลายเดือนก่อน

    Hello. Thanks for this video. It's quite informative.
    How can I deal with a situation where the categories are of varying lengths?
    I got this error message, "ValueError: all arrays must be same length"

    • @StatsWire
      @StatsWire  11 หลายเดือนก่อน

      It occurs when the categorical data you're trying to encode has varying lengths. One-hot encoding requires that all arrays (or columns) being encoded have the same number of unique categories.

    • @lucykelly499
      @lucykelly499 10 หลายเดือนก่อน

      I got the same error, how can it be resolved?@@StatsWire

  • @codingzone4690
    @codingzone4690 2 ปีที่แล้ว

    Very Quick !! Or So Simple. Unexpected Bruh!!

  • @mousabmohammadshtayat4788
    @mousabmohammadshtayat4788 2 ปีที่แล้ว +3

    Hi, Great video. I faced one problem. I have three categorical columns, and the # of unique values in these columns are different. I tried to add (dtype= object) in the (np.array command as I found the solution in many sites) but the result was in three different arrays not in one array. so please if you can help me. Thank u

    • @franfernandez795
      @franfernandez795 2 ปีที่แล้ว +1

      I have the exact same problem as you, have you found the solution?

    • @franfernandez795
      @franfernandez795 2 ปีที่แล้ว +21

      I've found the solution! the method np.hstack(x) worked for me

    • @taylorgood1007
      @taylorgood1007 2 ปีที่แล้ว +1

      @@franfernandez795 life saver! thanks :)

    • @fatihmercan6023
      @fatihmercan6023 2 ปีที่แล้ว

      @@franfernandez795 #danke

    • @bvbyballena472
      @bvbyballena472 2 ปีที่แล้ว

      @@franfernandez795 BLESS YOUR SOUL

  • @aakashrai2749
    @aakashrai2749 ปีที่แล้ว

    Onehotencoder will convert the word into binary or number format right ?

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      OneHotEncoder is a preprocessing technique used in machine learning to convert categorical data (e.g., words, categories, labels) into a numerical format.

    • @aakashrai2749
      @aakashrai2749 ปีที่แล้ว

      @@StatsWire ok thanks 👍

  • @Hellios92
    @Hellios92 ปีที่แล้ว

    Thanks a lot, really helpful video! :)

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You're welcome!

  • @ayeshabibi-b3l
    @ayeshabibi-b3l ปีที่แล้ว

    Amazing

  • @tymothylim6550
    @tymothylim6550 3 ปีที่แล้ว

    Thanks a lot! Great tutorial!

    • @StatsWire
      @StatsWire  3 ปีที่แล้ว

      You're welcome!

  • @waleedahmad2012
    @waleedahmad2012 ปีที่แล้ว

    I'm getting so many rows at the bottom where entire row is has NaN except for the encoded columns. What could be the issue.

    • @waleedahmad2012
      @waleedahmad2012 ปีที่แล้ว

      I did remove all null values before encoding

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Can you please check your code again or post it here.

  • @ngneerin
    @ngneerin 2 ปีที่แล้ว +1

    .ravel() or .flatten() is just not working it's returning array of array as it is

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว +1

      Can you please check all the steps to see that you are not missing anything

  • @vamsikrishna-ft8rn
    @vamsikrishna-ft8rn 2 ปีที่แล้ว

    Well explained bro

  • @mazharalamsiddiqui6904
    @mazharalamsiddiqui6904 3 ปีที่แล้ว

    Very nice tutorial

  • @rubennadevi
    @rubennadevi ปีที่แล้ว

    Thank you!

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You're welcome!

  • @ammarayounas170
    @ammarayounas170 ปีที่แล้ว

    thank you so much

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You're welcome!

  • @Intellectual_House
    @Intellectual_House ปีที่แล้ว

    what's the role of toarray() methode ?

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Its primary role is to convert a sparse or structured array into a dense NumPy array.

  • @dhm9818
    @dhm9818 ปีที่แล้ว

    I got an error in line 17 says >> ValueError: Shape of passed values is (988, 35), indices imply (988, 7) how can I fix it?

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      You made a mistake. Please follow steps again then you won't get the error.

  • @bthekhoa2704
    @bthekhoa2704 2 ปีที่แล้ว

    Hi, I don't know where I can download the data set

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      Hi, you can download the data and jupyternotebook from my GitHub account: github.com/siddiquiamir/Python-Data-Preprocessing

  • @anshulsharma7080
    @anshulsharma7080 ปีที่แล้ว

    Include problem of Dummy variable trap in one hot encoding please.

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      Thank you for your feedback. I have added it to my list.

  • @roshini_begum
    @roshini_begum 2 ปีที่แล้ว

    hi whats the difference between one hot encoding and label encoder

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว +2

      Hi Roshini, label enconder is used to label your target variable(Y) and one hot encoder is used to encode independent variables(X). One hot encoding will create new columns but label encoding will just create numbers instead of strings it will not create new columns

    • @roshini_begum
      @roshini_begum 2 ปีที่แล้ว

      @@StatsWire thanks alot

    • @roshini_begum
      @roshini_begum 2 ปีที่แล้ว

      also when do we use minmax scaler and standard scaler and whats the difference betn them

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว +1

      @@roshini_begum When we have outliers in the dataset we use standard scaler otherwise minmax scaler is good to use

    • @roshini_begum
      @roshini_begum 2 ปีที่แล้ว

      @@StatsWire thanks

  • @victorarayal
    @victorarayal ปีที่แล้ว

    It seems the code "ravel()" does not work if the columns have different number of unique values =(

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      I did not try that. Can you check the official documentation?

  • @uchennaonyema989
    @uchennaonyema989 2 ปีที่แล้ว

    .ravel() isn’t working bro. It returns same two arrays as before

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      Please re-run the code and check.

  • @ngneerin
    @ngneerin 2 ปีที่แล้ว

    It's also sad that such common use-case requires so many steps. Should be available in 1 step like pandas dummies

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      Yes, pandas dummies is easier

  • @AbdullahAlMamun-jm4qm
    @AbdullahAlMamun-jm4qm 3 ปีที่แล้ว

    Could you olease share the csv file of this data

    • @StatsWire
      @StatsWire  3 ปีที่แล้ว

      Sure. Here is the dataset link
      Github: github.com/siddiquiamir/Data/blob/master/data-one-hot-encoder.csv

  • @aravindng5157
    @aravindng5157 ปีที่แล้ว

    Bro paithiyama neee avlo variables podra

    • @StatsWire
      @StatsWire  ปีที่แล้ว

      I did not understand the language but thank you :D

  • @VinitKhandelwal
    @VinitKhandelwal 2 ปีที่แล้ว

    .ravel() did not work. I used .flatten()

    • @StatsWire
      @StatsWire  2 ปีที่แล้ว

      That's great. I hope it's working for you

  • @umeshk0697
    @umeshk0697 2 ปีที่แล้ว

    Can you please help me I got error " For a sparse output, all columns should be a numeric or convertible to a numeric" for pipe.fit(X_train,y_train) I double checked all this I dont why encoder error is fromed.
    PS- Car is already defined.
    X=car.drop(columns='Emissions_CO_[mg/km]')
    y=car['Emissions_CO_[mg/km]']

    from sklearn.model_selection import train_test_split
    X_train,X_test,y_train,y_test= train_test_split(X,y, test_size=0.2)

    from sklearn.linear_model import LinearRegression
    from sklearn.metrics import r2_score
    from sklearn.preprocessing import OneHotEncoder
    from sklearn.compose import make_column_transformer
    from sklearn.pipeline import make_pipeline

    ohe = OneHotEncoder()
    ohe.fit(X[['Manufacturer', 'Model', 'Fuel_Type']])
    ohe.categories_

    column_trans= make_column_transformer((OneHotEncoder(categories=ohe.categories_),['Manufacturer','Model','Fuel_Type']),
    remainder= 'passthrough')

    lr=LinearRegression()
    pipe=make_pipeline(column_trans,lr)

    pipe.fit(X_train,y_train)