나는 (이 비록 같은파이썬에서 제대로 해시 기능을 사용하는 방법에
x = np.array([3,2,0,4,5,2,1...]) #the dimension of the vectors is above 50000
y = np.array([1,3,4,2,4,1,4...])
내가하고 싶은 것은이 벡터의 차원을 줄이기 위해 해싱 기능을 사용하는 것입니다 같은 차원의 다양한 배열을 가지고 충돌이 될 것입니다.) 그런 다음 더 낮은 치수 벡터가 분류기에 사용될 수 있습니다. 내가 시도 무엇
는, 그러나
from sklearn.feature_extraction import FeatureHasher
hasher = FeatureHasher()
hash_vector = hasher.transform(x)
입니다 FeatureHasher
직접 사용할 수 없습니다 것 같다 그리고 내가 다음에 어떻게해야 원활하게 해싱 기능을 수행하기 위해, AttributeError: 'matrix' object has no attribute 'items'
따라서 말한다? 내가 누락 된 것이 있으면 알려주실 수 있습니까? 또는 기능 해싱을보다 효과적으로 수행 할 수있는 다른 방법이 있습니까?
감사 등 http://scipy-lectures.github.io/advanced/scikit-learn/#dimension-reduction-with-principal-component-analysis 등의 차원 축소에 서로 다른 접근 방식을 고려할 수 있습니다. 만약 당신이 feature hashing을 사용하기를 원한다면, 나는 feature name을'transform' 메쏘드에 넘겨야 만합니다, 그렇죠? 기능 이름이 필요한 이유는 무엇입니까? – allenwang
예, 기능 해싱에서 해시되는 기능입니다. 기능 이름이없고 기능 해시가 없습니다! 자세한 내용은 http://en.wikipedia.org/wiki/Feature_hashing –
안녕하세요, 선생님, 친절한 답변을 주셔서 대단히 감사합니다. 나는 또 다른 질문이있다. 'scikit'에서는 텍스트 분류에 기능 해싱을 사용할 수 있다고합니다. 그러나 트레이닝 벡터의 차원을 줄이기 위해 피쳐 해싱을 사용하면 정확도가 떨어질 것입니다. 맞습니까? 너의 도움이 정말로 필요해. – allenwang