Getting identical mse, r2, mae for different data
I am getting identical metric evaluation values for different data, I printed the matrix shape too. Below is a screenshot: [image: image.png] -- Regards, Vipula Rawte
Can you provide the code that produces this output? El jue., 5 mar. 2020 a las 16:03, Vipula Rawte (<rawtevipula25@gmail.com>) escribió:
I am getting identical metric evaluation values for different data, I printed the matrix shape too.
Below is a screenshot:
[image: image.png]
-- Regards, Vipula Rawte _______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn
import os import sys import csv import pandas as pd from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error from sklearn.feature_extraction.text import TfidfVectorizer from nltk.tokenize import RegexpTokenizer import re import numpy as np from sklearn.svm import SVR import time from scipy.sparse import csr_matrix from sklearn.model_selection import train_test_split, cross_val_score, cross_val_predict from sklearn import metrics import copy from multiscorer import MultiScorer start = time.time() #print("metrics: ", metrics.SCORERS.keys()) mae_file = open('mae_scores.txt', 'w') mse_file = open('mse_scores.txt', 'w') r2_file = open('r2_scores.txt', 'w') def tokenizer(text): if text: result = re.findall('[a-z]{2,}', text.lower()) else: result = [] return result def tfidf_vect(X): vect = TfidfVectorizer(tokenizer=tokenizer, stop_words='english') v = vect.fit(X) X_vect = v.transform(X) return X_vect def compute(X_vect,y): scorer = MultiScorer({ 'r2' : (r2_score , {}), 'mse' : (mean_squared_error, {}), 'mae' : (mean_absolute_error, {}) }) #SVR model model = SVR(C=1.0, epsilon=0.2, kernel= "poly") X_train, X_test, y_train, y_test = train_test_split(X_vect, y, test_size=0.33, shuffle=False, random_state=42) model.fit(X_train, y_train) pred = model.predict(X_test) print("mse: ", mean_squared_error(pred, y_test)) print("mae: ", mean_absolute_error(pred, y_test)) print("r2_score: ", r2_score(pred, y_test)) ''' # Perform 6-fold cross validation scores = cross_val_score(model, X_vect, y, cv=10, scoring=scorer) results = scorer.get_results() print("len: ", X_vect.shape[0]) final_scores = [] for metric_name in results.keys(): average_score = np.average(results[metric_name]) print('%s : %f' % (metric_name, average_score)) final_scores.append(average_score) r2_file.write(str(final_scores[0]) + '\n') mse_file.write(str(final_scores[1]) + '\n') mae_file.write(str(final_scores[2]) + '\n') ''' ''' df_header = ['cik_year', 'words', 'sent_words', 'roa', 'eps', 'tobinq', 'tier1_c', 'leverage', 'Z_score_c'] #10K_t+1 df1 = pd.read_csv("list_10K_next.txt", header=None, usecols=[0], names=['cik_year']) df21 = pd.read_csv("train_2006_2011_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df22 = pd.read_csv("test_2006_2011_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df23 = pd.read_csv("train_2007_2012_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df24 = pd.read_csv("test_2007_2012_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df2 = pd.concat([df21, df22, df23, df24]) df5 = df2.copy() searchfor1 = df1['cik_year'].values.tolist() df2 = df2[df2.cik_year.str.contains('|'.join(searchfor1))].reset_index() del df2['index'] #all_perf_indicators basepath1 = "/data/ftm/xgb_regr/ch_an_data/bank_all_perf_ind_data/" dp11 = pd.read_csv(basepath1 + "train_2007_2012.csv") dp12 = pd.read_csv(basepath1 + "test_2007_2012.csv") dp1 = pd.concat([dp11, dp12]) searchfor1 = df1['cik_year'].values.tolist() dp1 = dp1[dp1.cik_year.str.contains('|'.join(searchfor1))].reset_index() del dp1['index'] dp1 = dp1.drop_duplicates() df2 = pd.merge(df2, dp1) df2 = df2.drop_duplicates() df2['prev_cik_year'] = df2['cik_year'].apply(lambda x: x.split("_")[0] + "_" + str(int(x.split("_")[1]) - 1)) #8K_t df3 = pd.read_csv("list_8K.txt", header=None, usecols=[0], names=['cik_year']) df41 = pd.read_csv("train_8K_2006_2011_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df42 = pd.read_csv("test_8K_2006_2011_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df43 = pd.read_csv("train_8K_2007_2012_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df44 = pd.read_csv("test_8K_2007_2012_scaled.csv", usecols=['cik_year', 'mda_words', 'mda_sent_words', 'scaled_roa']) df4 = pd.concat([df41, df42, df43, df44]) searchfor1 = df3['cik_year'].values.tolist() df4 = df4[df4.cik_year.str.contains('|'.join(searchfor1))].reset_index() del df4['index'] df4 = pd.merge(df4, df2, left_on='cik_year', right_on='prev_cik_year') df4 = df4.drop_duplicates() df4 = df4.rename({'cik_year_x':'cik_year', 'mda_words_x':'words', 'mda_sent_words_x':'sent_words', 'scaled_roa_y': 'roa', 'eps_scaled': 'eps', 'tobinq_scaled': 'tobinq', 'tier1_c_scaled': 'tier1_c', 'leverage_scaled': 'leverage', 'Z_score_c_scaled': 'Z_score_c'}, axis=1) df4.to_csv("8K_t.csv", columns=df_header) #10K_t searchfor1 = df3['cik_year'].values.tolist() df5 = df5[df5.cik_year.str.contains('|'.join(searchfor1))].reset_index() del df5['index'] df5 = pd.merge(df5, df2, left_on='cik_year', right_on='prev_cik_year') df5 = df5.drop_duplicates() df5 = df5.rename({'cik_year_x':'cik_year', 'mda_words_x':'words', 'mda_sent_words_x':'sent_words', 'scaled_roa_x': 'roa', 'eps_prev_scaled': 'eps', 'tobinq_prev_scaled': 'tobinq', 'tier1_c_prev_scaled': 'tier1_c', 'leverage_prev_scaled': 'leverage', 'Z_score_c_prev_scaled': 'Z_score_c'}, axis=1) df5.to_csv("10K_t.csv", columns=df_header) df2 = df2.rename({'mda_words':'words', 'mda_sent_words':'sent_words', 'scaled_roa': 'roa', 'eps_scaled': 'eps', 'tobinq_scaled': 'tobinq', 'tier1_c_scaled': 'tier1_c', 'leverage_scaled': 'leverage', 'Z_score_c_scaled': 'Z_score_c'}, axis=1) df2.to_csv("10K_t1.csv", columns=df_header) ''' #print("after 8K: ", len(df2), len(df4), len(df5), list(df2), list(df4), list(df5)) ''' df_10K_t1 = pd.read_csv("10K_t1.csv") df_10K_t = pd.read_csv("10K_t.csv") word_type = ['words', 'sent_words'] target = ['roa', 'eps', 'tobinq', 'tier1_c', 'leverage', 'Z_score_c'] for t in target: print(t) print(df_10K_t1[t]) print(df_10K_t[t]) for w in word_type: for t in target: print("w: ", w, "t: ", t) #8K print("8K") df_8K_t = pd.read_csv("8K_t.csv") X_8K = df_8K_t[w].values.astype('U') y_8K = df_8K_t[t] X_vect_8K = tfidf_vect(X_8K) compute(X_vect_8K, y_8K) #10K_t+1 print("10K_t+1") df_10K_t1 = pd.read_csv("10K_t1.csv") X_10K1 = df_10K_t1[w].values.astype('U') y_10K1 = df_10K_t1[t] X_vect_10K1 = tfidf_vect(X_10K1) compute(X_vect_10K1, y_10K1) #10K_t print("10K_t") df_10K_t = pd.read_csv("10K_t.csv") X_10K = df_10K_t[w].values.astype('U') y_10K = df_10K_t[t] X_vect_10K = tfidf_vect(X_10K) #8K+10K (concat) print("8K+10K (concat)") X_vect_concat = csr_matrix(pd.concat([pd.DataFrame(X_vect_8K.todense()), pd.DataFrame(X_vect_10K1.todense())], axis=1)) compute(X_vect_concat, y_10K1) #8K+10K (sum) print("#8K+10K (sum)") X_vect_sum = pd.DataFrame(X_vect_8K.todense()).add(pd.DataFrame(X_vect_10K1.todense()), fill_value=0) compute(X_vect_sum, y_10K1) #changes print("#changes") X_vect_diff = pd.DataFrame(X_vect_10K1.todense()).subtract(pd.DataFrame(X_vect_10K.todense()), fill_value=0) compute(X_vect_diff, y_10K1) mae_file.close() mse_file.close() r2_file.close() ''' #df = pd.read_csv("10K_t.csv") #v = df[df.duplicated(['words'], keep=False)] #v = pd.concat(g for _, g in df.groupby("words"))# if len(g) > 1) #print(v) #print(df['words']) w = "words" t = "leverage" #8K print("8K") df_8K_t = pd.read_csv("8K_t.csv") X_8K = df_8K_t[w].values.astype('U') y_8K = df_8K_t[t] X_vect_8K = tfidf_vect(X_8K) compute(X_vect_8K, y_8K) print("8K", type(X_vect_8K), X_vect_8K.shape) #10K_t+1 print("10K_t+1") df_10K_t1 = pd.read_csv("10K_t1.csv") X_10K1 = df_10K_t1[w].values.astype('U') y_10K1 = df_10K_t1[t] X_vect_10K1 = tfidf_vect(X_10K1) compute(X_vect_10K1, y_10K1) print("10K_t1", type(X_vect_10K1), X_vect_10K1.shape) #10K_t print("10K_t") df_10K_t = pd.read_csv("10K_t.csv") X_10K = df_10K_t[w].values.astype('U') y_10K = df_10K_t[t] X_vect_10K = tfidf_vect(X_10K) compute(X_vect_10K, y_10K) print("10K: ", type(X_vect_10K), X_vect_10K.shape) #8K+10K (concat) print("8K+10K (concat)") X_vect_concat = csr_matrix(pd.concat([pd.DataFrame(X_vect_8K.todense()), pd.DataFrame(X_vect_10K1.todense())], axis=1)) compute(X_vect_concat, y_10K1) print("8K +10K concat: ", type(X_vect_concat), X_vect_concat.shape) #8K+10K (sum) print("#8K+10K (sum)") X_vect_sum = pd.DataFrame(X_vect_8K.todense()).add(pd.DataFrame(X_vect_10K1.todense()), fill_value=0) compute(X_vect_sum, y_10K1) print("8K + 10K sum: ", type(X_vect_sum), X_vect_sum.shape) #changes print("#changes") X_vect_diff = pd.DataFrame(X_vect_10K1.todense()).subtract(pd.DataFrame(X_vect_10K.todense()), fill_value=0) compute(X_vect_diff, y_10K1) print("changes: ", type(X_vect_diff), X_vect_diff.shape) print((X_vect_10K1.todense()==X_vect_diff.todense())) print("Total execution time: ", time.time() - start) On Thu, Mar 5, 2020 at 10:08 AM Jaime Ferrando Huertas <fhjaime96@gmail.com> wrote:
Can you provide the code that produces this output?
El jue., 5 mar. 2020 a las 16:03, Vipula Rawte (<rawtevipula25@gmail.com>) escribió:
I am getting identical metric evaluation values for different data, I printed the matrix shape too.
Below is a screenshot:
[image: image.png]
-- Regards, Vipula Rawte _______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn
_______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn
-- Regards, Vipula Rawte
On Thu, Mar 5, 2020 at 10:08 AM Jaime Ferrando Huertas <fhjaime96@gmail.com> wrote:
Can you provide the code that produces this output?
El jue., 5 mar. 2020 a las 16:03, Vipula Rawte (<rawtevipula25@gmail.com>) escribió:
I am getting identical metric evaluation values for different data, I printed the matrix shape too.
Below is a screenshot:
[image: image.png]
-- Regards, Vipula Rawte _______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn
_______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn
-- Regards, Vipula Rawte
participants (2)
-
Jaime Ferrando Huertas -
Vipula Rawte