【发布时间】:2019-10-11 22:25:29
【问题描述】:
输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值
这是我使用 scikit 库运行逻辑回归代码时出现的错误。
我已尝试删除 nan 和无限值,但它不起作用
df=pd.read_csv("bots.csv")
df1=pd.read_csv("genuine.csv")
df1.head
np.where(df.values >= np.finfo(np.float64).max)
np.where(df1.values >= np.finfo(np.float64).max)
np.any(np.isnan(df))
np.any(np.isnan(df1))
np.all(np.isfinite(df))
np.all(np.isfinite(df1))
df1=df1[:-92] #drop from bottom
f_to_f_human=df['friend_to_folowers_ratio']
f_to_f_bot=df1['friend_to_folowers_ratio']
df1['Y']= 1 #1 for bot
df['Y'] = 0 # 0 for human
vx=df['Y']
vy=df1['Y']
A = pd.concat([df1, df])
A
y=A.iloc[:,-1].values
X=A.drop(['Y'], axis=1)
X=A.iloc[:].values
X_train,X_test,y_train, y_test=
train_test_split(X,y,test_size=0.2,random_state=42)
model=LogisticRegression(penalty='l2',C=1)
print(X_train)
model.fit(X_train,y_train)
我预计不会出现任何错误,但会出现错误
输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值
【问题讨论】:
-
你有
A = pd.concat([df1, df])。A是必须检查nan或NA的数据帧。如果我没记错的话,连接两个数据帧可能会产生NA值,因为 Pandas 使用公共索引值对齐数据。 -
我认为这是您提到的问题,但 concat 没有创建任何 NA 值。感谢您的帮助
-
X_train.isnull().sum()返回什么?
标签: python machine-learning scikit-learn data-science