na_counts = (train.isna().sum() * 100/len(train)) train_processed = train.drop(na_counts[na_counts > 50].index,axis=1) train_processed.sort_values(by='user_id',inplace=True) train_processed.set_index("user_id",inplace=True) features = ['ANIME_FEATURE IS_TV', 'ANIME_FEATURE YEAR_AIRED', 'ANIME_FEATURE IS_ADULT', 'ANIME_FEATURE ABOVE_FIVE_STAR_USERS', 'ANIME_FEATURE ABOVE_FIVE_STAR_RATINGS', 'ANIME_FEATURE ABOVE_FIVE_STAR_RATIO', 'ANIME_FEATURE COMEDY', 'ANIME_FEATURE ACTION', 'ANIME_FEATURE FANTASY', 'ANIME_FEATURE ADVENTURE', 'ANIME_FEATURE KIDS', 'ANIME_FEATURE DRAMA', 'ANIME_FEATURE SCI-FI', 'ANIME_FEATURE MUSIC', 'ANIME_FEATURE SHOUNEN', 'ANIME_FEATURE SLICE OF LIFE', 'USER_FEATURE REVIEW_COUNT', 'USER_FEATURE AVG_SCORE', 'USER_FEATURE SCORE_STDDEV', 'USER_FEATURE ABOVE_FIVE_STAR_COUNT', 'USER_FEATURE ABOVE_FIVE_STAR_RATIO'] target = 'relavence_score' test_size = int(1e5) X,y = train_processed[features],train_processed[target].apply(lambda x:int(x * 10)) test_idx_start = len(X)-test_size xtrain,xtest,ytrain,ytest = X.iloc[0:test_idx_start],X.iloc[test_idx_start:],y.iloc[0:test_idx_start],y.iloc[test_idx_start:]