5가지 기본 Scikit 학습 기술

이 글은 Pathrise을 위해 쓴 것으로 온라인 지도교사의 계획으로 학생과 전문가와 함께 그들의 구직의 모든 부분에 참여한다.
Scikit learn은 데이터 과학 분야에서 가장 유행하는 Python 머신 러닝 라이브러리입니다.최고급 힌트와 기교를 배워서 당신의 Scikit 기술을 새로운 수준으로 향상시킵니다.
Scikit learn(sklearn)은 데이터 과학 분야에서 가장 유행하는 Python 머신러닝 라이브러리다.모든 데이터 과학자나 기계 학습 엔지니어는 그들의 도구로 Scikit을 필요로 한다.많은 대기업, 예를 들어 모건대통, Spotify, Hugging Face 등에서 Scikit learn은 제품 개발의 불가결한 부분이다.
이 도구를 이해하면 데이터 과학 분야의 취업 문을 열어 데이터 과학 업무를 더욱 쉽게 찾을 수 있습니다.
Sklearn은 우리의 기계 학습 모델을 학습하고 개선하며 집행하기 위해 유연한 도구를 제공했다.본고는 일부 내부 제시와 기교를 통해 당신의 Sklearn 기술을 새로운 수준으로 향상시킬 것입니다.이러한 최상의 실천은 당신의 기계 학습 기술을 뛰어넘어 당신의 프로그래밍 생활을 더욱 쉽게 할 것입니다.
오늘은 다음과 같은 5가지 Best Practice 및 팁을 소개합니다.

  • Imputing missing values with iterative imputer
  • Generating random dummy data
  • Using Pickle for model persistence
  • Plotting a confusion matrix
  • Creating visualizations for decision trees
  • What to learn next
  • 1. 교체 플러그인을 사용하여 부족한 값을 보충한다


    데이터 세트에 값이 부족하면 ML 알고리즘에 많은 문제가 발생할 수 있습니다.모든 열에서, 우리는 모델링 예측 작업을 하기 전에 부족한 값을 식별하고 교체해야 한다.이 과정을 데이터 삽입이라고 부른다.
    패턴(분류용)이나 균일치/중위수(회귀용)와 같은 전통적인 방법으로 부족한 값을 삽입하기 쉽다.그러나 Sklearn은 더 강력하고 간단한 방법으로 부족한 값을 보충할 수 있다.
    Sklearn에서 IterativeImputer 클래스는 일련의 기능을 사용하여 부족한 값을 포지셔닝하고 제거할 수 있도록 합니다.사실상 이것은 부족한 값을 다른 특징의 함수로 삼아 부족한 값을 평가하는 데 전문적으로 설계된 것이다.
    이런 방법은 하나의 모델을 반복적으로 정의하여 부족한 특징을 예측하여 다른 특징의 함수로 삼는다.이것은 매번 교체될 때마다 우리의 데이터 집합을 개선할 것이다.
    이 내장된 교체 삽입 기능을 사용하려면 아직 실험 단계이기 때문에 enable_iterative_imputer 을 가져와야 합니다.
    >>> # explicitly require this experimental feature
    >>> from sklearn.experimental import enable_iterative_imputer  
    >>> # now you can import normally from sklearn.impute
    >>> from sklearn.impute import IterativeImputer
    
    아래의 코드 예시를 보십시오. IterativeImputer 얼마나 간단한지 보십시오.이 코드를 사용하면 데이터 프레임에서 누락된 값이 impute_df 라는 새 데이터 프레임에 채워집니다.
    우리는 교체 횟수와 상세도를 설정합니다. 이것은 선택할 수 있습니다.플러그인을 부족한 값의 데이터 집합에 맞추어 새로운 데이터 프레임을 생성합니다.
    from sklearn.experimental import enable_iterative_imputer
    from sklearn.impute import IterativeImputer
    df = pd.DataFrame(*a dataset with missing values that we want to impute*)
    imp = IterativeImputer(max_iter=10, verbose=0)
    imp.fit(df)
    impute_df = imp.transform(df)
    impute_df = pd.DataFrame(impute_df, columns=df.columns)
    

    2. 랜덤 가상 데이터 생성


    가상 데이터는 유용한 데이터를 포함하지 않는 데이터 집합을 가리킨다.반대로 그들은 진실하거나 유용한 데이터가 존재해야 할 공간을 보존했다.가상 데이터는 테스트의 차지부호이기 때문에 의외의 결과를 방지하기 위해 반드시 꼼꼼하게 평가해야 한다.
    Sklearn은 신뢰할 수 있는 가상 데이터를 쉽게 생성할 수 있습니다.우리는 함수make_classification()를 분류 데이터에 사용하거나 make_regression()를 회귀 데이터에 사용하기만 하면 된다.샘플 수와 피쳐 수와 같은 매개변수를 설정해야 합니다.

    These functions give us control over the behavior of your data, so we can easily debug or test on small datasets.


    다음 코드 예시에는 1000개의 예시와 20개의 특성이 포함되어 있습니다.
    Look at the code example below with 1,000 samples and 20 features. 
    
    from sklearn.datasets import make_classification
    X, y = make_classification(n_samples=1000, n_features=20)
    

    3. Pickle로 모델 지속화


    모델 저항은 ML 모델을 다시 훈련할 필요 없이 재사용할 수 있도록 합니다.Sklearn의 Pickle 모델은 우리가 모델을 다시 사용하고 모델의 지속성을 실현할 수 있도록 합니다.모델을 Pickle로 저장하면 언제든지 쉽게 로드하여 예측할 수 있습니다.
    알고리즘을 정렬하고 저장하려면 pickle 또는 joblib Python 라이브러리를 사용할 수 있습니다.아래의 코드 예시를 보십시오.
    import pickle 
    # Save a KNN model 
    saved_model = pickle.dumps(knn)
    # Load a saved KNN model
    load_model = pickle.loads(saved_model)
    # Make new predictions from a pickled model 
    load_model.predict(test_X)
    

    4. 혼동 행렬 그리기


    혼동 행렬은 분류기가 테스트 데이터에 대한 성능을 설명하는 표이다.Sklearn의 최신 버전은 함수plot_confusion_matrix를 추가하여 접근 가능하고 사용자 정의 가능한 혼동 행렬을 생성합니다. 이 행렬은 우리의 진짜 값, 가짜 양수, 가짜 음수와 진짜 음수를 비추고 있습니다.
    Sklearn 문서의 이 코드 예시를 보십시오.
    >>> from sklearn.metrics import confusion_matrix
    >>> y_true = [2, 0, 2, 2, 0, 1]
    >>> y_pred = [0, 0, 2, 2, 0, 2]
    >>> confusion_matrix(y_true, y_pred)
    array([[2, 0, 0],
           [0, 0, 1],
           [1, 0, 2]])
    

    5. 결정 트리에 시각화 만들기


    의사결정 트리는 데이터 과학에서 가장 유행하는 classification algorithms 중의 하나다.이 알고리즘에서 훈련 모델은 트리가 표시하는 결정 규칙을 학습하여 목표 변수의 값을 예측하는 것을 배운다.트리는 해당 속성이 있는 노드로 구성됩니다.
    현재 우리는 matplotlibtree.plot_tree의 시각화 결정 트리를 사용할 수 있다.이것은 간단한 시각화를 만들기 위해 의존항을 설치할 필요가 없다는 것을 의미한다.그런 다음 액세스할 수 있도록 트리를 .png 파일로 저장할 수 있습니다.
    Sklearn 문서의 이 예시를 보십시오.예시 시각적 의사결정 트리는 Scikit learn 생성 내용의 기본 구조를 제공해야 합니다(자세한 내용은 공식 문서 참조).
    tree.plot_tree(clf)
    

    뭐 공부 해요?


    축하합니다!이제 Sklearn에 대한 지식을 더 많이 알고 기계 학습 기술을 다음 단계로 끌어올릴 준비를 하고 있습니다.이 강력한 라이브러리를 충분히 이용하려면 Scikit에 대해 아직 배워야 할 점이 많다.

    A good next step is to explore more Scikit tricks, learn Seaborn and Keras, and take an online course to solidify your learning.


    Educative 과정Hands-on Machine Learning with Scikit-learn은 선형 회귀, 논리 회귀, k 균일치 분류 등을 깊이 있게 이해하는 데 도움을 줄 것입니다.마지막으로, 당신은 자신 있게 자신의 프로젝트에서 Sklearn을 사용할 수 있을 것입니다.
    또는 고급 내용을 학습할 준비가 되었으면 Educative 과정 Grokking the Machine Learning Interview 을 참조하여 ML 개념을 ML 면접에서 예상한 실제 시스템 설계에 어떻게 응용하는지 배우십시오.
    즐겁게 공부하세요!

    Scikit 학습 및 데이터 과학 계속 읽기

  • Scikit-learn cheat sheet: methods for classification & regression
  • Scikit-learn Tutorial: how to implement linear regression
  • Applied Data Science: serverless functions, pipelines and PySpark
  • 좋은 웹페이지 즐겨찾기