简体   繁体   English

sklearn有错误(LogisticRegression模型选择)

[英]There is an error with sklearn (LogisticRegression model selection)

    import numpy as np
    import matplotlib.pyplot as plt
    import pandas as pd
    from sklearn import datasets
    from sklearn.model_selection import train_test_split
    from sklearn.linear_model import LogisticRegression
    from sklearn.preprocessing import StandardScaler


    Dt = pd.read_csv("D:\wisc_bc_data.csv")
    '''
    print(Dt.shape)     
    print(Dt.head())
    '''
     def changer(x):
         if x == 'B':
            return 0
         else:
            return 1
     Dt['diagnosis'] = Dt['diagnosis'].map(lambda x: changer(x))
     features = Dt[2:12]
     Diagnosis = Dt['diagnosis']
     train_features, test_features, train_labels, test_labels = train_test_split(features, Diagnosis) 'this line emits error code'

     '''
     this is my code and i used dataset from here: https://gomguard.tistory.com/52
     '''

I'd like to split data for logistic regression.我想为逻辑回归拆分数据。 However, There was an error code like this:但是,出现了这样的错误代码:

ValueError Traceback (most recent call last) in ----> 1 train_features, test_features, train_labels, test_labels = train_test_split(features, Diagnosis) ----> 1 train_features, test_features, train_labels, test_labels = train_test_split(features, Diagnosis) 中的 ValueError 回溯(最近一次调用最后一次)

D:\\python\\lib\\site-packages\\sklearn\\model_selection_split.py in train_test_split(*arrays, **options) 2116 raise TypeError("Invalid parameters passed: %s" % str(options)) 2117 -> 2118 arrays = indexable(*arrays) 2119 2120 n_samples = _num_samples(arrays[0]) D:\\python\\lib\\site-packages\\sklearn\\model_selection_split.py in train_test_split(*arrays, **options) 2116 raise TypeError("Invalid parameters传递: %s" % str(options)) 2117 -> 2118 arrays =可索引(*数组)2119 2120 n_samples = _num_samples(数组[0])

D:\\python\\lib\\site-packages\\sklearn\\utils\\validation.py in indexable(*iterables) 246 """ 247 result = [_make_indexable(X) for X in iterables] --> 248 check_consistent_length(*result) 249 return result 250 D:\\python\\lib\\site-packages\\sklearn\\utils\\validation.py in indexable(*iterables) 246 """ 247 result = [_make_indexable(X) for X in iterables] --> 248 check_consistent_length(*result) 249 返回结果 250

D:\\python\\lib\\site-packages\\sklearn\\utils\\validation.py in check_consistent_length(*arrays) 210 if len(uniques) > 1: 211 raise ValueError("Found input variables with inconsistent numbers of" --> 212 " samples: %r" % [int(l) for l in lengths]) 213 214 D:\\python\\lib\\site-packages\\sklearn\\utils\\validation.py in check_consistent_length(*arrays) 210 if len(uniques) > 1: 211 raise ValueError(“发现输入变量的数量不一致” --> 212 “样本:%r”% [长度为 l 的 int(l)]) 213 214

ValueError: Found input variables with inconsistent numbers of samples: [10, 569] ​ how can I fix it? ValueError: 发现输入变量的样本数量不一致:[10, 569] 我该如何解决?

I think features = Dt[2:12] results in your error.我认为features = Dt[2:12]导致您的错误。 Your attempt is to slice features, but the python interprets the code to slice records.您的尝试是对特征进行切片,但 python 将代码解释为对记录进行切片。 So, change the code as Dt.iloc[:, 2:12 ].因此,将代码更改为Dt.iloc[:, 2:12 ]。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM