← back to Handbag Authentication
handbag_data/github_datasets/Luxury-Handbag-Price-Prediction/Codes/asam2d_results.py
78 lines
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 18 18:46:26 2018
@author: abinaya
"""
import numpy as np
import pandas as pd
from os import listdir
from sklearn.metrics import r2_score
from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, Lasso
results_path = "/Users/abinaya/USC/Studies/NLCI/Project/ASAM-2D-Results/"
results_folders = listdir(results_path)
actual_df = pd.read_csv("/Users/abinaya/USC/Studies/NLCI/Project/Data/continuous_data/test_cont_hardware_-_num_zips_num_colors.csv", header=None)
actual_price = actual_df[2].values
r2_score_df = pd.DataFrame(columns=["Gauss", "Cauchy", "Sinc"])
approx_df = pd.DataFrame()
for folder in results_folders:
print folder
gauss = np.genfromtxt(results_path+folder+'/Gauss/fuzzyFGauss-10000.dat')
cauchy = np.genfromtxt(results_path+folder+'/Cauchy/fuzzyFCauchy-10000.dat')
sinc = np.genfromtxt(results_path+folder+'/Sinc/fuzzyFSinc-10000.dat')
gauss_price = gauss[:,2]
cauchy_price = cauchy[:,2]
sinc_price = sinc[:,2]
gauss_price = gauss_price[~np.isnan(gauss_price)]
cauchy_price = cauchy_price[~np.isnan(cauchy_price)]
sinc_price = sinc_price[~np.isnan(sinc_price)]
r2_score_gauss = r2_score(actual_price, gauss_price)
r2_score_cauchy = r2_score(actual_price, cauchy_price)
r2_score_sinc = r2_score(actual_price, sinc_price)
r2_score_df.loc[folder, "Gauss"] = r2_score_gauss
r2_score_df.loc[folder, "Cauchy"] = r2_score_cauchy
r2_score_df.loc[folder, "Sinc"] = r2_score_sinc
#approx_df[folder] = cauchy_price
if (r2_score_gauss > r2_score_cauchy) & (r2_score_gauss > r2_score_sinc):
print "gauss"
approx_df[folder] = gauss_price
elif (r2_score_cauchy > r2_score_gauss) & (r2_score_cauchy > r2_score_sinc):
print "cauchy"
approx_df[folder] = cauchy_price
elif (r2_score_sinc > r2_score_gauss) & (r2_score_sinc > r2_score_cauchy):
print "sinc"
approx_df[folder] = sinc_price
mean_pred = approx_df.mean(axis=1)
r2_score_mean = r2_score(actual_price, mean_pred)
print(r2_score_mean)
### Linear Regression
lr = Ridge()
lr.fit(approx_df, actual_price)
train_acc_LinReg = lr.score(approx_df, actual_price)
print("Linear Regression - Train accuracy: ",train_acc_LinReg )