<jupyter_start><jupyter_text>One Hot EncodingEs un proceso mediante el cual las variables categóricas se convierten en una forma que podría proporcionarse a los algoritmos de ML para hacer un mejor trabajo en la predicción.<jupyter_code>import pandas as pd

df = pd.read_csv(r'https://raw.githubusercontent.com/Lawlesscodelen/thebridge_ds/master/data/titanic.csv')
df.shape #vemos cuántas filas y columnas 
df.columns #Vemos las columnas 

df.isna().sum() #vemos donde hay NAS
df = df.loc[df.Embarked.notna(), ['Survived','Pclass', 'Sex', 'Embarked']] #Nos quedamos con cuatro columnas 
df.shape
df.isna().sum()
df.head()
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder(sparse=False) # Objeto sparse, para que no salga una matriz de ceros
#OneHotEncoder(sparse=True).fit_transform(df[['Sex']])
ohe.fit_transform(df[['Sex']]) #numpy array with two columns
ohe.categories_
ohe.fit_transform(df[['Embarked']])#Numpy array with three columns 
ohe.categories_
from sklearn.compose import make_column_transformer
column_trans = make_column_transformer(
(OneHotEncoder(), ['Embarked', 'Sex']),
    remainder = 'passthrough')
array = column_trans.fit_transform(df)
array
name_columns = ['Embarked_C', 'Embarked_Q', 'Embarked_S', 'Sex_female', 'Sex_male', 'Survived','PClass']
nf = pd.DataFrame(data=array, columns=name_columns)
nf<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12244897959183673, 'fraction_numerical': 0.0, 'mean_word_length': 7.029239766081871, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '635141', 'license': 'MIT', 'n_tokens_mistral': 496, 'n_tokens_neox': 487, 'n_words': 120, 'path': '14 de abril/One Hot Encoder - Explanation Titanic.ipynb', 'repo_name': 'Lawlesscodelen/thebridge_ds', 'size': '1372'}