1
이진 데이터가있는 데이터 프레임이 있고 열 사이의 종속성이 있음을 알고 있습니다. 종속 열을 제거하고 독립 열만 유지하려고합니다. 다음의 예는 입력 :바이너리 데이터의 크기를 줄이는 방법은 무엇입니까?
Test ,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P
test1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1
test2,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,1
test3,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,1
test4,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1
test5,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1
을 여기에서는 참조 (A,B,C,G,M), (D), (E,F), (H,I,J,K,L,P) and (N, O)
그룹은 동일한 값 또는 종속 columns의 열이다. 마지막으로 나는 다음과 같은 열 싶어 : 나는 파이썬에서 PCA를 사용하려고하지만, 그것을 달성 할 수 있지 않다
Test,A,D,E,H,N test1,0,0,0,1,1 test2,1,0,1,1,0 test3,1,0,1,1,0 test4,1,1,0,1,0 test5,1,1,0,1,0
. 누군가가 이것을 달성하는 방법에 대해 안내 할 수 있습니까?
편집
: 여기 내가import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
df = pd.read_csv("TestInput.csv")
print(df)
pca = PCA()
#Remote the header and the row names
numDf = df.iloc[:,1:]
print(pca.fit(numDf))
T=pca.transform(numDf)
print("Number of unique columns are:", T.shape[1])
print(np.cumsum(pca.explained_variance_ratio_))
감사를 사용하고있는 예제 코드입니다.
값이 분명히 열이 비슷하다는 것을 나타 내기 때문에 PCA를 사용할 필요가 없습니다. 열의 값을 비교하고 중복 된 값을 비교하지 않는 이유는 무엇입니까? –
@AnandCU이 예제에서는 열 수는 제한되어 있지만 원래 문제는 100000 열과 100000 행입니다. 그런 큰 데이터 프레임에서 유사성 테스트를 수행하는 데는 시간이 걸립니다. –
PCA를 사용해 보셨습니까? 어디서 붙어 있니? 또한이 답변을 https://stackoverflow.com/a/14985695/5026636에서 확인하십시오. 시도 해봐. –