ゼロベース入門データマイニング-中古車取引価格予測Task 1


ゼロベース入門データマイニング-中古車取引価格予測


概要:試合問題は中古車の取引価格を予測することを任務とし、データセットの申し込み後に表示され、ダウンロードすることができる.このデータはある取引プラットフォームの中古車の取引記録から来ており、総データ量は40 wを超え、31列の変数情報を含み、そのうち15列は匿名変数である.試合の公平性を確保するため、トレーニングセットとして15万本、テストセットAとして5万本、テストセットBとして5万本を抽出し、name、model、brand、regionCodeなどの情報を脱敏する.
1.Pandasデータ読み出し
import pandas as pd
import numpy as np
path = 'C:\\Users\\Administrator\\Desktop\\DataAnalysis\\data\\'
## 1)  ;
Train_data = pd.read_csv(path+'used_car_train_20200313.csv', sep=' ')
Test_data = pd.read_csv(path+'used_car_testA_20200313.csv', sep=' ')
print('Train data shape:',Train_data.shape)
print('TestA data shape:',Test_data.shape)

2.分類指標評価計算例
#accuracy
import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0,1,0,1]
y_true = [0,1,1,1]
print('acc',accuracy_score(y_pred,y_true))
## Precision,Recall,F1-score
from sklearn import metrics
y_pred = [0, 1, 0, 0]
y_true = [0, 1, 0, 1]
print('Precision',metrics.precision_score(y_true, y_pred))
print('Recall',metrics.recall_score(y_true, y_pred))
print('F1-score:',metrics.f1_score(y_true, y_pred))
## AUC
import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
print('AUC socre:',roc_auc_score(y_true, y_scores))

3.回帰指標評価
import numpy as np
from sklearn import metrics
# MAPE  
def mape(y_true, y_pred):
    return np.mean(np.abs((y_pred - y_true) / y_true))
y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])
y_pred = np.array([1.0, 4.5, 3.8, 3.2, 3.0, 4.8, -2.2])
# MSE
print('MSE:',metrics.mean_squared_error(y_true, y_pred))
# RMSE
print('RMSE:',np.sqrt(metrics.mean_squared_error(y_true, y_pred)))
# MAE
print('MAE:',metrics.mean_absolute_error(y_true, y_pred))
# MAPE
print('MAPE:',mape(y_true, y_pred))
## R2-score
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print('R2-score:',r2_score(y_true, y_pred))

総括:試合の流れを熟知して、天池プラットフォームでデータのダウンロードを完成して、データを読んで見て、分類回帰問題の評価指標を勉強しました.