<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Check the data, deal with NaNs
Step1:  Encode parameters
Step2:  Tips and objectives
Keep in mind that even if score_phrase would normally be the feature to predict, based on the genre of the game, the score (maybe this one has even a direct correlation?), the release year, etc. it might be more interesting to try to use another feature has label. Just use something that makes sense 
<ASSISTANT_TASK:>
Python Code:
df = pd.read_csv("../data/ign.csv")
print(df.info())
df = df.drop('title', axis=1)
df = df.drop('url', axis=1)
df = df.drop('Unnamed: 0', axis=1)
df = df.dropna()
print(df.info())
print(df.head())
Explanation: Check the data, deal with NaNs
End of explanation
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
for col in df.columns.values:
    #Encode only the categorical variables
    if df[col].dtype=='object':
        le.fit(df[col].values)
        print("Encoded classes are: {}\n".format(le.classes_))
        df[col]=le.transform(df[col])
            
print(df.head())
Explanation: Encode parameters
End of explanation
# Now it's your turn
Explanation: Tips and objectives
Keep in mind that even if score_phrase would normally be the feature to predict, based on the genre of the game, the score (maybe this one has even a direct correlation?), the release year, etc. it might be more interesting to try to use another feature has label. Just use something that makes sense :)
If needed, feel free to apply the knowledge you have already gathered to make changes to the dataset.
The goal of this exercise is to:
Choose at least three models and use simple cross-validation. Which of the models would you implement?
Hold out different percentages of data and see how that affects the results.
Using the same three models use k-fold cross validation. Which one has the best result?
Try different values of k. How does that affect the results? Try to justify.
Is it a good idea to use leave-one-out cross-validation on this dataset?
Use random splitting. How does this affect the results?
Implement any type of preprocessing in cross-validation using pipeline. Think about how to do this without using this method (you don't need to implement it).
It's a good idea to use a random_state equal to some integer in order to replicate results.
Remember, the goal is too get acquainted with this kind of procedures. Don't stress too much with high scores. If you remember anything else you would like to try, feel free to implement it!
Implementations
End of explanation
<END_TASK>