Python未来警告消息

Python未来警告消息,python,warnings,cross-validation,Python,Warnings,Cross Validation,我正在Jupyter笔记本中使用Python 3.7。我根据Jason Brownlee的电子书《Python机器学习精通》创建分类模型。代码基本上是从电子书中剪切粘贴到Jupyter笔记本中的。当我分割数据时,模型工作正常,但当我使用k-fold交叉验证时,它会生成一条警告消息,我将剪切并粘贴下面的代码和消息。我输入了error_score=np.nan,它没有解决问题,但我不知道应该在哪里输入代码。我希望得到任何建议,但请记住我是个新手。谢谢 #逻辑回归分类 from pan

我正在Jupyter笔记本中使用Python 3.7。我根据Jason Brownlee的电子书《Python机器学习精通》创建分类模型。代码基本上是从电子书中剪切粘贴到Jupyter笔记本中的。当我分割数据时,模型工作正常,但当我使用k-fold交叉验证时,它会生成一条警告消息,我将剪切并粘贴下面的代码和消息。我输入了error_score=np.nan,它没有解决问题,但我不知道应该在哪里输入代码。我希望得到任何建议,但请记住我是个新手。谢谢

#逻辑回归分类

        from pandas import read_csv
        from sklearn.model_selection import KFold
        from sklearn.model_selection import cross_val_score
        from sklearn.linear_model import LogisticRegression
        df = pd.read_csv('Diabetes_Classification.csv')
        array = df.values
        X = array[:,0:8]
        Y = array[:,8]
        kfold = KFold(n_splits=10, random_state=7)
        model = LogisticRegression(solver='liblinear')
        error_score = np.nan
        results = cross_val_score(model, X, Y, cv=kfold)
        print(results.mean())
        # Logistic Regression Classification
        from pandas import read_csv
        from sklearn.model_selection import KFold
        from sklearn.model_selection import cross_val_score
        from sklearn.linear_model import LogisticRegression
        df = pd.read_csv('Diabetes_Classification.csv')
        array = df.values
        X = array[:,0:8]
        Y = array[:,8]
        kfold = KFold(n_splits=10, random_state=7)
        model = LogisticRegression(solver='liblinear')
        error_score = np.nan
        results = cross_val_score(model, X, Y, cv=kfold)
        print(results.mean())

ValueError回溯(最近一次调用)
在里面
11模型=逻辑回归(solver='liblinear')
12错误_分数=np.nan
--->13结果=交叉评分(模型,X,Y,cv=kfold)
14打印(results.mean())
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/model\u selection//u validation.py in
交叉值得分(估计器、X、y、组、得分、简历、n工作、详细信息、拟合参数、预调度、,
错误(U分数)
389拟合参数=拟合参数,
390预调度=预调度,
-->391错误分数=错误分数)
392返回简历结果[“测试分数”]
393
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/model\u selection//u validation.py in
交叉验证(估计器、X、y、组、评分、cv、n工作、详细、拟合参数、预调度、,
返回值(训练分数、返回值估计器、误差分数)
230返回次数=真,返回估计数=返回估计数,
231错误分数=错误分数)
-->232列车,等速分段试验(X、y、组))
233
234 zip_分数=列表(zip(*分数))
调用中的~/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py(self,iterable)
919#剩余工作。
920自迭代=错误
-->921如果自行调度一批(迭代器):
922 self.\u iterating=self.\u original\u iterator不是None
923
~/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py在一批(self,
迭代器)
757返回错误
758其他:
-->759自我派遣(任务)
760返回真值
761
~/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py in_dispatch(self,batch)
714带自锁:
715作业idx=len(自作业)
-->716作业=self.\u后端.apply\u异步(批处理,回调=cb)
717#一个作业完成的速度比它的回调速度要快
718#在我们到达这里之前打电话,导致self.#你的工作
~/opt/anaconda3/lib/python3.7/site-packages/joblib//\u parallel\u backends.py in apply\u async(self,
func,
(回拨)
180 def apply_async(self、func、callback=None):
181“计划要运行的func”
-->182结果=立即结果(func)
183如果回调:
184回调(结果)
~/opt/anaconda3/lib/python3.7/site-packages/joblib//\u parallel\u backends.py in\uuuuuuuu init\uuuuu(self,
批次)
547#不要延迟应用程序,以免保留输入
548#内存中的参数
-->549 self.results=batch()
550
551 def get(自我):
调用中的~/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py(self)
223具有并行_后端(self._后端,n_作业=self._n_作业):
224返回[func(*args,**kwargs)
-->225用于自身项目中的func、ARG、kwargs]
226
227定义长度(自):
~/opt/anaconda3/lib/python3.7/site-packages/joblb/parallel.py in(.0)
223具有并行_后端(self._后端,n_作业=self._n_作业):
224返回[func(*args,**kwargs)
-->225用于自身项目中的func、ARG、kwargs]
226
227定义长度(自):
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/model\u selection//u validation.py in\u
拟合和分数(估计器、X、y、计分器、训练、测试、详细、参数、拟合参数、,
返回训练分数,返回参数,返回测试样本,返回次数,返回估计器,
错误(U分数)
514估算器拟合(X列,**拟合参数)
515其他:
-->516估算器拟合(X_序列、y_序列、**拟合参数)
517
518例外情况除外,如e:
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py in fit(self,X,y,
样品(单位重量)
1531 X,y=check_X_y(X,y,accept_sparse='csr',dtype=\u dtype,order=“C”,
1532接受\u大\u稀疏=解算器!=“liblinear”)
->1533检查分类目标(y)
1534 self.classes=np.unique(y)
1535个n_样本,n_特征=X形状
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/multiclass.py in
检查\u分类\u目标(y)
167如果y_类型不在['binary'、'multiclass'、'multiclass multioutput'中,
168“多标签指示器”、“多标签序列”]:
-->169提升值错误(“未知标签类型:%r”%y\u类型)
170
171
ValueError:未知的标签类型:“连续”

问题在于,您的目标是连续的,您正在执行分类任务。确保使用目标的列是分类的。您可能需要将其转换为整数。所有这些都在回溯中报告:

check_classification_targets(y)
    167     if y_type not in ['binary', 'multiclass', 'multiclass-multioutput',
    168                       'multilabel-indicator', 'multilabel-sequences']:
    --> 169         raise ValueError("Unknown label type: %r" % y_type)
您的目标不在接受的目标中。你的目标是持续的:

ValueError: Unknown label type: 'continuous'
检查目标是否为带有
df.dtypes
的整数,如果不是,则将其更改为整数

Y = array[:,8].astype(int)
这是假设您没有犯在连续数据上进行分类任务的错误
ValueError: Unknown label type: 'continuous'
Y = array[:,8].astype(int)
np.unique(array[:, 8])