2016-10-04 5 views
4

로지스틱 회귀 예제를 통해 작업하고 statsmodels 부분에 접근 할 때 몇 가지 어려움이 있습니다. 나는 df가리스트가 아닌 반복자를 반환하는 Python 3 및 pandas 데이터 프레임에서 과거에는 어려움을 겪었다. 나는 그러나 여전히 ValueError를Python 3 statsmodels Logit ValueError : DLASCL 매개 변수 번호 5의 항목에 잘못된 값이 있습니다.

import numpy as np 
import pandas as pd 
import os 
import statsmodels.api as sm 
import pylab as pl 

df = pd.read_csv('admissions.csv') 
df.head(n=5) 

df.columns = ['admit', 'gre', 'gpa', 'prestige'] 
dummy_ranks = pd.get_dummies(df['prestige'], prefix='prestige') 
cols_to_keep = ['admit', 'gre', 'gpa'] 
data = df[cols_to_keep].join(dummy_ranks.ix[:, 'prestige_2':]) 
data['intercept'] = 1.0 
train_cols = data.columns[1:] 


logit = sm.Logit(data['admit'], data[train_cols]) 

result = logit.fit() 

ValueError를 수신 '로짓'와 같은 조정 시도 : DLASCL 매개 변수 번호 5 항목에하는 것은 불법 값을했다

+0

는 – Ranjeet

+0

오류 메시지의이 유형은 거의 항상 데이터의 INF 또는 NaN의 선형 대수학 함수. 누락 된 값이 있으면 팬더로 제거하거나 모델에서'missing' 키워드를 사용하십시오. – user333700

답변

2

귀하의 'admissions.csv은'빈 값을 가지고 그것.

에서 데이터를 사용하면 블로그 http://blog.yhat.com/posts/logistic-regression-python-rodeo.html이 작동합니다. 데이터 값을 삭제하면 잘못된 값 오류가 발생합니다.

올바른 :

admit gre gpa rank 
0 380 3.61 3 
1 520 2.93 4 

잘못된 : 호출 할 때 'admissions'csv'의 링크를 제공해야

admit gre gpa rank 
0  3.61 3 
1 520 2.93 4