2014-11-05 2 views
3

내 의사 결정 트리 분류 자의 전처리 단계로 LinearSVC를 사용하고 있습니다. LinearSVC 을 실행 한 다음 변환 (X)을 수행합니다. 기능 수가 35에서 9로 줄었습니다. 어떤 기능이 실제로 선택되었는지 알고 싶습니다.LinearSVC 변환을위한 임계 값은 어떻게 작용합니까?

기본적으로 변형 (X)은 임계 값 = '평균'으로 작동한다는 것을 알고 있습니다. 누군가가 그 특징을 유지할지 여부를 결정하는 방법의 예를 말해 줄 수 있습니까?

이것은 내 coef_입니다.

array([[ -2.45022173e-01, -8.61032928e-02, -2.39513401e-03, -2.07443644e-02, 2.49547244e-03, -3.14133367e-02, 7.09627000e-03, 3.94563929e-03, 6.78145800e-02, 1.59497586e-01, -1.24063075e-01, -4.79223418e-02, -3.70412138e-02, 4.39187481e-02, 1.30004636e-02, -2.31911643e-03, -1.63937709e-03, -2.18402321e-03, -2.65601394e-03, 1.48259224e-02, -6.15157373e-02, -3.65242492e-04, 8.10479000e-02, -1.58338535e-01, 5.06225924e-03, 1.16183358e-03, 6.44170055e-02, -2.56651350e-03, 1.62029008e-01, -1.69785296e+00, -1.91045465e+00, -1.64206237e+00, -1.80735175e+00, -1.39504546e+00, -1.66709852e+00], [ 4.14083584e-01, 2.03703885e-01, 4.82783739e-03, 7.90756359e-02, -1.45063508e-03, 1.05486236e-01, -3.01145160e-01, -7.81145855e-03, -3.39445309e-01, -5.66603101e-01, 2.41489561e-01, 3.11615301e-01, -3.59607168e-01, -4.04092005e-01, -3.18262477e-03, 8.14224001e-04, 8.64216590e-04, 6.59107091e-03, 5.48336293e-03, -1.76329713e-02, 2.33854833e-01, -1.00455178e-01, -5.00175471e-02, 4.81448974e-02, 3.13891484e-01, 3.54014313e-03, 3.32840843e-01, 6.85018177e-05, -6.75410702e-01, -1.03258781e-01, 2.59870671e-01, -3.03956500e-01, -1.58732859e-01, -3.89772985e-01, -2.55624888e-01], [ 1.06132321e-01, 1.23617156e-01, 1.40819416e-03, 1.06118853e-01, 5.11221833e-04, -1.68780545e-01, 9.27425326e-02, 3.52220207e-03, 2.12134293e-01, 3.54667378e-01, 1.22840976e-01, -4.21232679e-01, 3.55037449e-01, -2.06715803e-01, 6.18856581e-02, -4.63662372e-03, -5.04710160e-04, -4.65594740e-04, 1.01529235e-02, 1.15598254e-03, 4.49951214e-02, 2.20830485e-01, -1.01269555e-01, 3.03514605e-01, -1.27056578e-01, -2.17123757e-02, -2.51044202e-01, 7.19562937e-03, -6.74304600e-01, 2.47410746e-01, -7.76792375e-02, 2.26260621e-01, 3.83972532e-01, 4.35143804e-01, 3.50074110e-02], [ 6.33038442e-02, 3.71367520e-01, -1.21238483e-02, -5.92230089e-02, -2.69617795e-03, 2.44885573e-01, -1.12043386e-01, -1.05526224e-01, -9.88583026e-02, -6.09121814e-01, -5.16313417e-01, 2.83500385e-01, 2.04390765e-01, 9.13454922e-01, 2.12522482e-02, 4.67960378e-03, 3.78514732e-03, -1.89184862e-03, -2.35710741e-02, 2.77863999e-02, 5.93172013e-01, -3.98200956e-01, 2.04199614e-01, -6.20399607e-02, 1.19732985e-01, 1.16674647e-01, -1.27517918e-03, -4.23253804e-03, -1.82480535e+00, 9.29959444e-01, 1.21162165e+00, 1.09899835e+00, 7.42987354e-01, 9.61956169e-01, 8.72089435e-01], [ 2.98336593e-01, 1.36166556e-01, 8.55303000e-04, 1.13137553e-01, -4.11417197e-03, 2.59650136e-01, 7.87008264e-02, 7.22415689e-03, -3.64334467e-02, -2.57473176e-02, -1.01132206e-01, -4.52864069e-02, 8.62911851e-03, -1.01396648e-01, -1.71810251e-01, 2.87556170e-02, -5.75335168e-03, -1.31809609e-03, 2.27847222e-02, -1.64198532e-02, -8.11859436e-03, -2.60700154e-02, 1.74207263e-01, 1.10324971e-01, 6.65055594e-02, 4.11639440e-03, -9.68050856e-02, 4.32464307e-02, 1.26432150e+00, 2.80210335e-02, 1.30525549e-01, 4.34196521e-01, -2.46460632e-01, 3.85467301e-01, -2.58179093e-02]]) 설명서를 읽었습니다. 내가 확신 할 수없는 것은이 '평균'이 어떻게 계산 되는가입니다. 그것은 특징 수단의 평균인가? 5 개의 클래스와 35 개의 피쳐가있는 경우 각 클래스의 해당 피쳐에 대한 계수가 달라집니다. 기능의 평균을 찾은 다음 그 평균을 찾겠습니까? documentation에서

+0

왜 하향 투표를하는 사람이 그 이유를 설명해 주시겠습니까? 설명서를 읽었으며 작동 원리를 설명하는 리소스를 찾을 수 없었습니다. – GXR

답변

1

:

임계 값은 기능 선택에 사용할 수 있습니다. 중요도가 더 크거나 같은 기능은 유지되고 다른 기능은 무시됩니다. "중앙값"("평균값") 인 경우 임계 값은 피쳐 가져 오기의 중앙값 (평균값)입니다. 스케일링 인자 (예를 들어, "1.25 * 평균")가 또한 사용될 수있다. 없음 및 가능한 경우, 오브젝트 속성 임계 값이 사용됩니다. 그렇지 않은 경우 "평균"이 기본적으로 사용됩니다.

중요도는 여기에 계수로 주어집니다.

+0

@Andrew Mueller, 설명서를 읽었습니다. 내가 확신 할 수없는 것은이 '평균'이 어떻게 계산 되는가입니다. 그것은 특징 수단의 평균인가? 5 개의 클래스와 35 개의 기능이있는 경우 각 클래스의 해당 기능에 대한 계수가 달라집니다. 기능의 평균을 찾은 다음 그 평균을 찾겠습니까? – GXR

+0

계수의 클래스에 대한 절대 합계의 평균입니다. 출처 [here] (https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/feature_selection/from_model.py#L52) 및 [여기] (https://github.com/scikit- learn/scikit-learn/blob/master/sklearn/feature_selection/from_model.py # L88) –

+0

잘 설명되어 있지 않다고 동의합니다. 여기 수정 : https://github.com/scikit-learn/scikit-learn/pull/3829 –

관련 문제