一、0-1损失函数
1,常用分类:scikit-learn:train_test_spilt(不能有交集)
2,dataframe——list设计空表,用append添加,使用for循环。
3,x训练,x测试,y训练,y测试=train_test_spilt(自变量,测试集占比,随机数种子)
4,k折交叉切分
(1)
sklearn.metrics.zero_one_loss(真实值,预测值,[True返回比例,False返回数量],样本权重,默认为1)
返回:0-1损失函数值
(2)
#库
from sklearn.metrics import zero_one_loss
#数据
y_true=[1,1,1,1,1,0,0,0,0,0]
y_pred=[0,0,0,1,1,1,1,1,0,0]
#结果
print("zero_one_loss<fraction>:",zero_one_loss(y_true,y_pred,normalize=True))
print("zero_one_loss<num>:",zero_one_loss(y_true,y_pred,normalize=False))
(3)
【out】:
zero_one_loss<fraction>: 0.6
zero_one_loss<num>: 6
二、对数损失函数
(1)
sklearn.metrics.log_loss(真实值,预测值,对数损失函数值,[True均值,False返回损失总和],样本权重,默认为1)
返回:对数损失函数值
(2)
from sklearn.metrics import log_loss
y_true=[1,1,1,1,1,0,0,0,0,0]
y_pred=[0,0,0,1,1,1,1,1,0,0]
print("zero_one_loss<fraction>:",zero_one_loss(y_true,y_pred,normalize=True))
print("zero_one_loss<num>:",zero_one_loss(y_true,y_pred,normalize=False))
(3)
【out】:
log_loss<average>: 0.22839300363692283
log_loss<total>: 1.370358021821537