기계 학습 입문vol.10차원 삭감

이 내용은 각 지역에서 기계학습 입문 강좌를 개최하는 부분의 내용을 공개하여 각 수강생들이 예습, 복습을 할 수 있도록 한다.대상 독자는 파이톤을 거의 해본 적이 없는 사람이나 곤경에 빠진 사람도 대체로 실행할 수 있는 수준으로 썼다.해설은 강의에서도 그에 상응하는 상세한 설명이 있기 때문에 코드에 논평을 내는 것 외에는 설명이 없다.
각 코드는 Jupyter 시리즈와 iPython에 기술된 대로 실행됩니다.
AI/DX/기계학습/파이톤의 컨설턴트, 사내연수, 세미나 등을 받는다.
웹 사이트에서 문의하세요.
BeeComb Grid 주식회사
기계 학습 입문 시리즈 보도

  • 강좌 3회머신러닝 입문vol.1 Python의 기초1 기술 및 데이터형에 해당->

  • 강좌 3회기계 학습 입문vol.2 Python의 기초 2조건 지점 및 처리에 해당->

  • 강좌 3회기계 학습 입문vol.3 Python의 기본 3 함수 클래스 모듈에 해당->

  • 머신 러닝 시작 vol.4 테이블(Pandas)의 기본 작업->워크숍 3회/4회
  • 에 해당)

  • 강좌 3/4회기계 학습 입문vol.5 도표(Seabrn)의 기본 조작에 해당->

  • 기계학습 입문vol.6회귀-선형회귀-> 강의 4회
  • 에 해당)

  • 기계학습 입문vol.7회귀-랜덤 숲과 파라미터 조화-> 강의 4회
  • 에 해당)

  • 기계학습 입문vol.8회귀-기타회귀(k부근법, 라소회귀, 척추회귀.etc)-> 강의 4회
  • 에 해당)

  • 강좌 제5회기계 학습 입문vol.9 판별(분류)에 해당->
  • 기계학습 입문vol.10차원 삭감->강좌 제6회

  • 강좌 제6회기계 학습 입문vol.11 컬렉션에 해당->
    기계 학습 입문vol.10차원 삭감
    차원이 깎이면워크숍에서는 PCA 및 랜덤 매핑, t-SNE를 실천했습니다.차원 삭감을 통해 PCA의 요소 간의 중요성을 볼 수 있을 뿐만 아니라 PCA의 총괄 설명 변수를 통해 기계 학습 훈련의 계산 원가를 삭감할 수 있다.또한 고차원 데이터를 2차원, 3차원으로 자주 변환하여 도표를 통해 데이터의 분포 상황을 볼 수 있는 용법도 있다.
    import numpy as np
    import pandas as pd
    import seaborn as sb
    from sklearn.decomposition import PCA
    
    보스턴 데이터 세트를 읽다.
    # ボストンデータセット
    from sklearn import datasets
    boston = datasets.load_boston()
    boston
    
    데이터 상자에 저장합니다.
    # データフレームに格納
    df = pd.DataFrame(boston.data, columns=boston.feature_names)
    df['Price'] = boston.target
    df
    
    PCA(주성분 분석)
    PCA 클래스를 사용하여 차원 축소를 진행합니다.학급 문서sklearn.decomposition.PCA는 본가를 확인하세요.매개 변수 ncomponents는 삭감된 차원수를 유지하는 구성 요소라고 생각하십시오.
    강좌에서는 시간 관계에서 갑자기 2차원으로 내려간 코드가 소개됐지만, 의도가 없었다면 10차원 이상의 물건이 갑자기 아무런 분석 없이 2차원으로 떨어졌다면 많지 않았을 것이다.
    # PCA(主成分分析)を使って次元を2次元に削減
    pca = PCA(n_components=2)
    vectors = pca.fit_transform(df)
    vectors
    
    2차원 공간에서 삭감된 벡터를 배치해 보세요.모든 점이 겹치지 않도록 2차원으로 압축된 모습을 볼 수 있다.
    # 散布グラフで表示
    dfv = pd.DataFrame(vectors, columns=["x","y"])
    sb.relplot(x="x", y="y", data=dfv)
    

    계산된 고유 벡터, 주성분의 분산, 기여율 등을 살펴본다.
    print('寄与率(%): ', pca.explained_variance_ratio_)
    print('累積寄与率(%): ', np.cumsum(pca.explained_variance_ratio_))
    print('固有値(主成分の分散): ', pca.explained_variance_)
    print('固有ベクトル(主成分の方向): ', pca.components_)
    
    임의 매핑
    무작위 매핑 클래스 사용sklearn.random_projection.SparseRandomProjection.자세한 매개 변수는 공식 문서를 확인하세요.
    무작위 매핑은 다음 기초 위에서'광점'과'배경 스크린'을 준비하여 투영된 그림자를 보고 차원을 낮추는 기법이다.3차원인 사람이 빛을 발하면 뒤쪽 벽에 비친 그림자가 2차원으로 변한다는 이유에서다.
    # ランダム写像インポート
    from sklearn.random_projection import SparseRandomProjection
    rp = SparseRandomProjection(n_components=2)
    vectors = rp.fit_transform(df) # ランダムだけに毎回結果は変わるので試行錯誤が必要
    vectors
    
    퍼즐로 보여주세요.
    # 散布グラフで表示
    dfv = pd.DataFrame(vectors, columns=["x","y"])
    sb.relplot(x="x", y="y", data=dfv)
    
    그 고유의 가치를 살펴봅시다.
    print('固有ベクトル: ', rp.components_)
    print('デンシティ: ', rp.density_)
    print('写像フィット時の要素の数: ', rp.n_features_in_)
    
    t-SNE
    티SNE로 볼게요.자세한 매개 변수는 sklearn.manifold.TSNE의 공식 문서를 참조하십시오.
    쉽게 말하면 t-SNE의 목적은'고차원에서의 데이터 사이의 거리를 최대한 줄이는 것'이기 때문에 차원 삭감 시 t분포를 확률 분포에 사용하기 때문에 t-SNE라고 불린다.
    어려운 일을 적었지만 PCA와 랜덤 프로젝터 등은 차원이 깎일 때 "사실 거리가 가까운 데이터도 멀리 찍힌다"고 빈번하게 발생해 이를 해결하는 방법으로 활용됐다.(총괄적으로 말하면 데이터 간의 유사도를 손상시키지 않고 차원을 낮추기를 바란다)
    항목은 다음과 같습니다.
    from sklearn.manifold import TSNE
    tsne = TSNE(n_components=2)
    vectors = tsne.fit_transform(df)
    vectors
    
    퍼즐로 보여주세요.
    # 散布グラフで表示
    dfv = pd.DataFrame(vectors, columns=["x","y"])
    sb.relplot(x="x", y="y", data=dfv)
    

    MDS(다차원 척도 구성법)
    다차원 척도 구성법(MDS)에서 가져오기sklearn.manifold.MDS 클래스가 사용됩니다.MDS는 데이터 간 거리, 유사도, 비유사도 등을 토대로 차원을 깎아주는 기법이다.
    from sklearn.manifold import MDS
    mds = MDS(n_components=2)
    vectors = mds.fit_transform(df)
    vectors
    
    산포도를 보여 보세요.
    # 散布グラフで表示
    dfv = pd.DataFrame(vectors, columns=["x","y"])
    sb.relplot(x="x", y="y", data=dfv)
    

    기계 학습 입문 시리즈 보도

  • 강좌 3회머신러닝 입문vol.1 Python의 기초1 기술 및 데이터형에 해당->

  • 강좌 3회기계 학습 입문vol.2 Python의 기초 2조건 지점 및 처리에 해당->

  • 강좌 3회기계 학습 입문vol.3 Python의 기본 3 함수 클래스 모듈에 해당->

  • 머신 러닝 시작 vol.4 테이블(Pandas)의 기본 작업->워크숍 3회/4회
  • 에 해당)

  • 강좌 3/4회기계 학습 입문vol.5 도표(Seabrn)의 기본 조작에 해당->

  • 기계학습 입문vol.6회귀-선형회귀-> 강의 4회
  • 에 해당)

  • 기계학습 입문vol.7회귀-랜덤 숲과 파라미터 조화-> 강의 4회
  • 에 해당)

  • 기계학습 입문vol.8회귀-기타회귀(k부근법, 라소회귀, 척추회귀.etc)-> 강의 4회
  • 에 해당)

  • 강좌 제5회기계 학습 입문vol.9 판별(분류)에 해당->
  • 기계학습 입문vol.10차원 삭감->강좌 제6회

  • 강좌 제6회기계 학습 입문vol.11 컬렉션에 해당->
    AI/DX/기계학습/파이톤의 컨설턴트, 사내연수, 세미나 등을 받는다.
    웹 사이트에서 문의하세요.
    BeeComb Grid 주식회사
  • 좋은 웹페이지 즐겨찾기