Logistic.fit()在LogisticRegression中的erorr

时间:2016-12-27 19:32:33

标签: python logistic-regression

我正在尝试使用logistic.fit()我得到下面的错误。如何解决错误?

 Input contains NaN, infinity or a value too large for dtype('float64').

以下是我的代码的一部分: (地板和姓氏是字符串)

   xtr = pd.get_dummies([['Age','Fee', 'Size','Floor', 'Class', 'Surname' ]])
    import pandas as pd
    from sklearn.linear_model import LogisticRegression
    logistic = LogisticRegression()
    logistic.fit(xtr , ytr)

1 个答案:

答案 0 :(得分:0)

所以你有几个选择。

选项1

Vec<T>

这会丢弃所有NA值。如果你的观察很少,不推荐使用。

选项2

df_clean = df.dropna()

用平均值替换所有缺失值,或者也可以df["Column_Name"].fillna(df["Column_Name"].mean(), inplace=True) 。显然这只适用于数字列。

选项3

median

您可以在此处指定要从中删除NaN值的列。如果您的某些列是分类的,而其他列是数字的,则这将与选项2结合使用。

选项4

df = df[pd.notnull(df['Column_Name'])]

将所有NaN值填入0.您可以执行此操作而不是选项2,即通话。无论如何,这应该足以让您开始思考如何解决您的问题。由于您熟悉数据,因此您应该知道如何处理这些数据。如果您对此有任何具体问题,我将非常乐意为您提供帮助。