기계 학습 알고리즘을 구현하려고하는데 데이터를 통합하는 데 어려움이 있습니다.
아래 예에서는 UCI에서 예제 데이터 세트를로드하고 누락 된 데이터가있는 행을 제거합니다 (이전 질문의 도움 덕분에). 이제 데이터를 정규화하려고합니다.
많은 데이터 세트에 대해 다음을 사용했습니다.
valores = (valores - valores.mean()) / (valores.std())
그러나이 특정 데이터 세트의 경우 위의 접근 방식이 작동하지 않습니다. 문제는 inf
아마도 정밀도 문제로 인해 mean 함수가을 반환한다는 것입니다. 아래 예를 참조하십시오.
bcw = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data', header=None)
for col in bcw.columns:
if bcw[col].dtype != 'int64':
print "Removendo possivel '?' na coluna %s..." % col
bcw = bcw[bcw[col] != '?']
valores = bcw.iloc[:,1:10]
#mean return inf
print valores.iloc[:,5].mean()
제 질문은 이것을 어떻게 처리 하느냐입니다. 이 칼럼의 유형을 변경해야하는 것 같지만 어떻게해야할지 모르겠습니다.
pandas에 익숙하지 않지만 numpy 배열로 변환하면 작동합니다.
np.asarray(valores.iloc[:,5], dtype=np.float).mean()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다