信用卡欺诈Python实现解决方案汇总
1.交叉验证导入train_test_spilt:
当导入
from sklearn.cross_validation import train_test_split
时,
错误提示:
ModuleNotFoundError: No module named ‘sklearn.cross_validation’
解决方法:由于库版本的原因
from sklearn.model_selection import train_test_split
2. 使用KFold函数时
使用函数KFold时:
fold=KFold(len(y_train_data),5,shuffle=False)
错误提示:
TypeError: init() got multiple values for keyword argument ‘shuffle’
原因:
其实这是导入 KFold的方式不同引起的。如果使用:from sklearn.cross_validation import KFold ,来导包那么:
KFold(n,5,shuffle=False)
# n为总数,需要传入三个参数
但如果你使用:from sklearn.model_selection import KFold,那么:
fold = KFold(5,shuffle=False)
# 无需传入n
3、使用emumerate函数时
for iteration,indices in enumerate(fold,start=1):
时,
错误提示:
TypeError: ‘KFold’ object is not iterable
解决方法:
for iteration,indices in enumerate(fold.split(x_train_data)):
4.使用LogisticRegression函数时
sklearn0.22版本,用以下代码建立逻辑回归模型
lr = LogisticRegression(C = c_param, penalty = 'l1')
正则化惩罚选择’L1’报错,一脸懵C
嗯,还是打印一下Ir看一下参数
``
LogisticRegression(C=0.01, class_weight=None, dual=False, fit_intercept=True,
intercept_scaling=1, l1_ratio=None