根据上一篇博客中的方法对样本进行分层抽样,抽样后反复测试,都觉得没有任问题,但是在训练模型的时候执行:
models = LogisticRegression(C = 1000 , tol= 1e-10 , max_iter= 1000)
models.fit(data_train_2 , data_Y_2)
报错内容为:
raise ValueError(“Unknown label type: %r” % y_type)
ValueError: Unknown label type: ‘unknown’
一直找原因,经过一番探索,终于找到了问题的根源,就是抽样后返回的目标字段的类型和原始字段不统一了,所以导致建模报错。原始数据的目标字段数据类型为dtype: int64, 而抽样后目标字段的数据类型为dtype: object,
解决方法为:
data_train_0 = stratifiedSampling(data_train_1,‘S_ORG’,‘MARK’,10)
data_Y_2 = data_train_0[‘MARK’].astype(np.int64)
data_train_2 = data_train_0.drop(‘MARK’, axis = 1)
这样就把目标字段的数据类型转换成了模型认可的类型。