나는 처음 4 개의 CSV의 수레있는 데이터 파일을 가지고 있고, 마지막 값 해당 행에 대한 레이블을 나타내는 문자열입니다텍스트 파일의 데이터를로드 한 다음 사전에 넣으려면 어떻게해야합니까?
.5, .3, .2, .1, FAA
.2., .3, .5., .2, FXX
.5., .3, .2 , .9, FXX
.3, .3, .9, .3, FCA
내가 그들을 구성하는 NumPy와 배열에 파일을로드 할 클래스에 의해, 그래서 출력는 다음과 같을 것이다
FAA: [[.5, .3, .2, .1]]
FXX: [[.2., .3, .5., .2],
[.5., .3, .2 , .9]]
FCA: [.3, .3, .9, .3]
그것은이 매우 유사하지만, 나는 이것이 내 자신의 코드에서 작동시킬 수 없습니다 : Best way to separate data into 3 classes
이 코드는 작동하지만 각 데이터 포인트의 내부 레이블을 추가 할 방법을 알아낼 수 없습니다 :
import numpy as np
data = np.genfromtxt('data.txt', delimiter=',', dtype=None, names=('length', 'width', 'distance', 'strength', 'label'))
separated = {}
for i in range(len(data)):
vector = data[i]
if (vector[-1] not in separated):
separated[vector[-1]] = []
separated[vector[-1]].append(vector)
for i in range(len(separated)):
print separated
print '\n'
내가 원하는대로, 나는 평균과 공동 분산 행렬을 계산하는 것으로 일단 거기에서.
편집 : 링크 된 페이지에서 코드를 실행하면, 나는 다음과 같은 오류 얻을 :
filtered = [map(float, item[:4]) for item in data if item[4] == 'Iris-virginica']
IndexError: invalid index
어떻게 인덱스가 잘못되었습니다?
외부 코드 저장소에 게시하지 말고 외부 게시 된 코드에 대해서는 질문하지 마십시오. – DyZ