1

저는 여러 시퀀스 세트 (FASTA 파일)에서 다양한 시퀀스 기반 기능을 추출하는 생물 정보학 시퀀스 연구에 종사하고 있습니다. 시퀀스의 다양한 기능을 생성하고 각 시퀀스를 개별적으로 처리합니다 (필자는 수만 개의 시퀀스로 작업 할 것입니다). 나는 프로그래밍 및 데이터 처리 초보자입니다.scikit-learn을 사용하여 새로운 기능 저장

생성 된 기능을 저장하고 출력 (즉, CSV 파일의 행렬에 저장)하는 가장 좋은 방법은 무엇입니까? 기능

이름은 나에게 중요하다, 그래서 각 별도의 시퀀스 일치하는 그들의 출력 순서를 필요로뿐만 아니라, 그것들을 할 것입니다. 나는 scikit이의 "dictVectorizer"기능이 작동 할 수 배울 것을 이해하기 때문에

나는, 사전에 (순서 당) 기능을 저장하기 위해 계획했다. 그러나 - 사전은 조직화되어 있지 않으므로 필자는 각 시퀀스의 기능을 개별적으로 추출하여 다음 시퀀스에서 추출한 다음 작성합니다 - 작성시 동일한 순서를 유지합니까? (모든 특징은 수치 적이며 연속적이지만 많은 것은 0의 값을 가질 수 있고, 어떤 것들은 출력으로서 벡터를 가질 수있다 [E.G-400 중복 된 바이 그램의 빈도 카운트).

감사합니다.

(나는 주로 I/O에 관심을 혼합 기능 출력을받지 못했습니다.) pandas 또는 dill이 될 것입니다이 작업을 수행하는

+0

다음과 같은 도움이되는 주문 사전이라고 부르는 것이 있습니다. https://docs.python.org/2/library/collections.html#collections.OrderedDict –

+0

Sklearn 메서드 (S)와 함께 작동하는지 알고 싶습니까? – GrimSqueaker

+0

아니요, 죄송합니다. scikit-learn의 맥락에서 사용하지 않았습니다. –

답변

0

그래서 가장 좋은 방법. 나는 pandas이 더 나은 선택이 될 것이라고 생각하지만 둘 다 사용할 수 있습니다.

import pandas as pd 
import dill 

당신은 당신에 대한 DataFrames을 얘기 레이블 행렬을 저장하려는 경우. 당신은 쉽게 당신이 같은 방법 DF.index = ["A","B",etc.]에 의해 DF.columns = ["label1","label2",etc.] 인덱스 값을 기준으로 열 이름을 설정할 수 있습니다 DF = pd.DataFrame(array_object) 수행하여 배열이나 사전에서 pandas에서 DataFrame을 만들 수 있습니다. 그런 다음 pd.read_table("filename.tsv",sep="\t")을 통해 나중에 쉽게 검색 할 수있는 스프레드 시트 형식으로 쓰는 DF.to_csv("filename.tsv",sep="\t") (일반적으로 탭 구분 b/c 쉼표가 이상 함)을 수행하여 csv/tsv에 저장할 수 있습니다. 당신이 할 수있는 또 다른 방법은 당신이 나중에로드 할 수있는 파일에 환경 변수를 저장하는 dill을 사용하는 것입니다. (더 복잡한 객체에 대해서는이 작업을하지만 DataFrames 나 행렬 또는 원하는대로 작동합니다.) DataFramematrix/array 인 경우 dill.dump(DF,open("DF.obj","wb"))을 사용하여 해당 개체를 저장 한 다음 나중에 dill.load(open("DF.obj","rb"))을 사용하여 검색 할 수 있습니다. Excel에서 물건을 (생물 학자들이 엑셀을 사랑하는) 열 수 있기 때문에

은 내가 pandas.DataFrame.to_csv() 방법을 할 것입니다. 그것들이 단지 행렬이라면, 객체들을 저장하기 위해 dill을 사용하는 것은 과잉이다. 자신을 위해 물건을 만들고 있지만 저장된 dill 개체를 다른 사람에게 전달하는 것이 불쾌해질 수있는 경우 레퍼토리에 넣는 것이 좋은 도구입니다.