머신러닝 검사 목록을 사용하여 정확한 예측을 안정적으로 얻는 방법

어떤 문제를 대하든 머신러닝을 사용하여 정확한 결과를 얻으려면 어떻게 해야 합니까? 어려움은 각 문제가 서로 다르기 때문에 서로 다른 데이터 소스, 기능, 알고리즘, 알고리즘 구성 등이 필요하다는 것입니다. 해결책은 매번 좋은 결과를 보장하는 체크리스트를 사용하는 것입니다. 이 게시물에서는 머신러닝 문제에 대해 안정적으로 좋은 결과를 얻는 데 사용할 수 있는 체크리스트를 알아봅니다.


각 데이터 문제가 다릅니다.

시작하기 전에 어떤 알고리즘이 문제에 가장 잘 작동하는지 알 수 없습니다.

전문 데이터 과학자조차도 말할 수 없습니다.

이 문제는 머신러닝 알고리즘의 선택에만 국한되지 않습니다. 어떤 데이터가 변환되고 노출될 경우 알고리즘에 문제의 구조를 가장 잘 나타내는 데이터의 어떤 기능을 알 수 없습니다.

몇 가지 아이디어가 있을 수 있습니다. 좋아하는 기술이 있을 수도 있습니다. 그러나 지난번에 결과를 얻은 기술이 이번에는 좋은 결과를 얻을 수 있다는 것을 어떻게 알 수 있습니까?

기술이 한 문제에서 다른 문제로 이전 될 수 있다는 것을 어떻게 알 수 있습니까?

휴리스틱은 좋은 출발점이지만(랜덤 포레스트는 대부분의 문제에서 잘 수행됨) 그저 그렇습니다. 끝이 아닌 출발점일 뿐입니다.


모든 문제에 대해 0에서 시작하지 마십시오

모든 문제에 대해 처음부터 시작할 필요는 없습니다.

머신러닝 도구 또는 라이브러리를 사용하여 머신러닝의 모범 사례 구현을 활용할 수 있는 것처럼 문제를 해결하는 데 모범 사례를 활용해야 합니다.

대안은 새로운 문제가 발생할 때마다 보충해야 한다는 것입니다. 그 결과 주요 단계를 잊어버리거나 건너뜁니다. 필요한 것보다 시간이 오래 걸리고 정확도가 떨어지는 결과를 얻을 수 있으며 재미가 덜할 수 있습니다.

솔루션을 정의하지 않고 바로 앞에서 사용하도록 의도하지 않는 한 머신러닝 문제를 해결했다는 것을 어떻게 알 수 있습니까?


정확한 결과를 안정적으로 얻는 방법

머신러닝 문제에 대해 안정적으로 정확한 결과를 얻을 수 있습니다.

첫째, 경험적 질문입니다. 어떤 알고리즘? 어떤 속성? 가능성을 생각하고 시도해야 합니다. 이러한 질문에 대한 답을 찾으려면 실험해야 합니다.

각 데이터 세트를 검색 문제처럼 취급합니다. 좋은 결과를 주는 조합을 찾으십시오. 검색하는 데 소요되는 시간은 결과가 얼마나 좋은지와 관련이 있습니다. 그러나 큰 이익을 얻는 것에서 감소하는 수익으로 전환하는 변곡점이 있습니다.

즉, 데이터 준비, 데이터 변환, 모델 선택, 모델 튜닝, ensemlbing 등의 선택은 조합 문제입니다. 작동하는 많은 조합이 있으며 충분히 좋은 조합도 많이 있습니다.

종종 최상의 솔루션이 필요하지 않습니다. 사실 가장 좋은 해결책은 당신이 원하지 않는 것일 수 있습니다. 찾는 데 비용이 많이 들고 데이터의 섭동에 취약 할 수 있으며 과도한 피팅의 제품 일 가능성이 큽니다.

당신은 당신이 작업하고 있는 문제의 특정 요구에 충분한 좋은 해결책을 원합니다. 종종 충분히 좋은 솔루션은 빠르고 저렴하며 강력합니다. 해결하기가 더 쉬운 문제입니다.

또한 최상의 솔루션이 필요하다고 생각되면 첫 번째 체크 포인트로 충분한 솔루션을 사용할 수 있습니다.

“가장 정확한” 결과에서 “충분히 정확한” 결과로 간단히 재구성하면 작업하는 각 머신러닝 문제에서 좋은 결과를 얻을 수 있습니다.


머신러닝 검사 목록이 필요합니다.

검사 목록을 사용하여 올바른 요소 조합에 대한 검색을 구조화하여 모든 머신러닝 문제에 대한 좋은 솔루션을 안정적으로 제공할 수 있습니다.

체크리스트는 결과를 보장하는 간단한 도구입니다. 

예를 들어 이륙 및 비행 전 체크리스트 사용과 같은 항공에서. 또한 수술 체크리스트 및 안전 준수와 같은 의학 분야에서도 사용됩니다.

체크리스트에 대한 자세한 내용은 “체크리스트 선언문: 올바른 일을 하는 방법“이라는 책을 참조하십시오.

결과가 중요하다면 매번 프로세스를 구성하는 이유는 무엇입니까? 솔루션에 대해 잘 정의된 일련의 단계를 따릅니다.


머신러닝 검사 목록의 이점

검사 목록을 사용하여 머신러닝 문제를 해결할 때의 5가지 이점은 다음과 같습니다.

  • 작업 감소: 각각의 새로운 문제를 시도하기 위해 모든 기술을 생각할 필요는 없습니다.
  • 더 나은 결과: 모든 단계를 따르면 좋은 결과를 얻을 수 있으며 아마도 평균보다 더 나은 결과를 얻을 수 있습니다. 사실, 그것은 당신이 어떤 결과를 얻을 수 있도록 보장합니다. 많은 프로젝트가 여러 가지 이유로 실패합니다.
  • 개선을 위한 시작점: 이를 시작점으로 사용하고 시도할 더 많은 것을 생각할 때 추가할 수 있습니다. 
  • 향후 프로젝트 혜택: 향후 모든 프로젝트는 프로세스 개선의 이점을 누릴 수 있습니다.
  • 사용자 정의 가능한 프로세스: 도구, 문제 유형 및 기본 설정에 가장 적합한 체크리스트를 디자인할 수 있습니다.


머신러닝 알고리즘은 매우 강력하지만 상품처럼 취급합니다. 당신이 사용하는 특정 것은 당신이 관심있는 모든 것이 정확성이라면 훨씬 덜 중요합니다.

사실, 프로세스의 각 요소는 상품이 되고 좋아하는 방법에 대한 아이디어가 사라지기 시작합니다. 나는 이것이 문제 해결을위한 성숙한 입장이라고 생각한다. 학술 연구와 같은 일부 노력에는 적합하지 않다고 생각합니다.

학자는 특정 알고리즘에 깊이 투자합니다. 실무자는 알고리즘을 목적, 예측 또는 예측 모델의 수단으로만 봅니다.


응용 머신러닝 체크리스트

이 섹션에서는 적용된 머신러닝 문제를 해결하는 데 사용할 수 있는 검사 목록을 간략하게 설명합니다.

다운로드하여 다음 문제에 사용할 수 있는 체크리스트 버전에 관심이 있다면 이 게시물의 하단을 확인하십시오.

이 체크리스트는 이전에 KDD/데이터 마이닝 프로세스를 적용된 머신러닝에 적용한 것을 기반으로 합니다.

KDD 프로세스에 대한 자세한 내용은 “데이터 마이닝 및 KDD란?” 게시물에서 확인할 수 있습니다. “머신러닝 문제를 해결하기 위한 프로세스” 게시물에서 조언한 작업 흐름에 대해 자세히 알아볼 수 있습니다.

각 포인트는 블로그 게시물 또는 책이 될 수 있습니다. 이 체크리스트에는 많은 세부 사항이 포함되어 있습니다. 나는 추론에 대한 링크와 적절한 경우 추가 읽기를 포함하려고 노력했습니다.


프로그래머를 위한 기계 학습 - 도구 선택

선호하는 머신러닝 도구를 문제 해결을 위해 선택한 체계적인 프로세스에 매핑합니다.


이 예제 체크리스트에 대한 참고 사항

이 예제는 간결성을 위해 매우 제한적입니다. 사실, 모든 머신러닝 문제에 대한 하나의 진정한 체크리스트보다 원칙의 시연 또는 증거라고 생각하십시오.

테이블 형식 데이터에서 작업하는 분류 문제에 대해 이 검사 목록을 제한했습니다.

또한 소화하기 쉽도록 추상화 수준을 합리적으로 높게 유지하고 대부분의 섹션을 3 개의 점 포인트로 제한했습니다.

때로는 그것만으로는 충분하지 않기 때문에 체크리스트의 일부에서 시도 할 데이터 변환 및 알고리즘의 구체적인 예를 제시했습니다.


1. 문제 정의

데이터나 알고리즘을 건드리기 전에 문제를 잘 이해하는 것이 중요합니다. 이렇게 하면 결과를 해석할 수 있는 도구와 솔루션이 어떤 형태를 취할지에 대한 비전이 제공됩니다.

체크리스트의 이 부분에 대해서는 “머신러닝 문제를 정의하는 방법” 게시물에서 좀 더 자세히 알아볼 수 있습니다.


1.1 무엇이 문제입니까?

이 섹션은 문제에 대한 명확한 진술뿐만 아니라 설정되었을 수 있는 기대치와 존재할 수 있는 편견을 포착하기 위한 것입니다.

  • 비공식적이고 공식적으로 문제를 정의하십시오.
  • 문제에 대한 가정(예: 데이터에 대한 가정)을 나열합니다.
  • 문제와 유사한 알려진 문제를 나열합니다.

1.2 문제를 해결해야하는 이유는 무엇입니까?

이 섹션은 문제 해결의 동기를 포착하고 예상되는 결과에 대한 사전 사고를 도모하기위한 것입니다.

  • 문제 해결 동기를 설명하십시오.
  • 솔루션의 이점(모델 또는 예측)을 설명합니다.
  • 솔루션 사용 방법을 설명합니다.

1.3 문제를 수동으로 어떻게 해결할 수 있습니까?

이 섹션은 남아 있는 도메인 지식을 제거하고 머신러닝 솔루션이 실제로 필요한지 여부를 측정하는 데 도움을 주기 위한 것입니다.

  • 문제가 현재 어떻게 해결되었는지 설명하십시오.
  • 주제 전문가가 수동 예측을 수행하는 방법을 설명합니다.
  • 프로그래머가 분류자를 직접 코딩하는 방법을 설명합니다.

2. 데이터 준비

데이터를 이해하는 것은 대부분의 시간을 소비해야 하는 곳입니다.

데이터를 더 잘 이해할수록 학습할 알고리즘에 고유한 구조를 노출하기 위해 수행할 수 있는 작업이 더 좋아집니다.

머신러닝을 위해 데이터를 준비하는 방법” 및 “머신러닝 문제에 대한 빠른 데이터 분석” 게시물에서 검사 목록의 이 부분에 대해 자세히 알아보세요.


2.1 데이터 설명

이 섹션은 사용 가능한 데이터와 사용할 수 없는 모든 데이터에 대해 생각하도록 하기 위한 것입니다.

  • 사용 가능한 데이터의 범위를 설명합니다.
  • 사용할 수 없지만 바람직한 데이터를 설명합니다.
  • 필요하지 않은 사용 가능한 데이터를 설명합니다.

2.2 데이터 전처리

이 섹션은 미가공 데이터를 모델링 도구에서 작업할 수 있는 형식으로 구성하기 위한 것입니다.

  • 작업할 수 있는 형식으로 데이터 형식을 지정합니다.
  • 데이터가 균일하고 일관성이 있도록 정리합니다.
  • 중복성과 문제 충실도를 최상으로 절충하기 위해 데이터를 샘플링합니다.

데이터 샘플링의 후보 목록

샘플링에 대한 최종 점검에서 풀어야 할 것이 많을 수 있습니다.

여기에는 두 가지 중요한 문제가 있습니다.

  1. 샘플 인스턴스: 다양한 특성 밀도를 대표하고 모델을 빠르게 빌드하고 평가할 수 있을 만큼 작은 데이터 샘플을 만듭니다. 종종 하나의 샘플이 아니라 많은 샘플입니다. 예를 들어 하나는 1분 미만 모델 평가용, 하나는 1시간 미만용, 다른 하나는 1일 미만용 등입니다. 데이터가 많을수록 알고리즘의 성능이 바뀔 수 있습니다.
  2. 샘플 속성: 데이터의 구조를 모델에 가장 잘 노출하는 속성을 선택합니다. 모델마다 요구 사항이 다르고 때로는 “요구 사항“을 위반하면 더 나은 결과를 얻을 수 있기 때문에 선호도가 다릅니다.

다음은 데이터를 샘플링하는 데 사용할 수 있는 다양한 접근 방식에 대한 몇가지 아이디어입니다. 선택하지 말고 각각을 차례로 사용하고 테스트 프로그램의 결과가 사용할 표현을 알려주도록 하십시오.

  • 무작위 또는 계층화된 샘플
  • 클래스별 인스턴스 재조정(재조정 방법에 대한 자세한 내용)
  • 이상치 제거(이상치 방법에 대한 자세한 내용)
  • 상관 관계가 높은 속성 제거
  • 차원 축소 방법 적용(주성분 또는 t-SNE)

2.3 데이터 변환

이 섹션은 이후 단계에서 모델링 알고리즘에 데이터의 더 많은 문제 구조를 노출하기 위해 데이터에 대한 여러 뷰를 만들기 위한 것입니다.

  • 모든 특성의 선형 및 비선형 변환 만들기
  • 복잡한 속성을 구성 부분으로 분해합니다.
  • 비정규화된 속성을 더 높은 수량으로 집계합니다.

데이터 변환의 후보 목록

사용할 수 있는 데이터 변환의 수는 제한되어 있습니다. 특정 길을 탐색할 가치가 있는지 여부를 알아내는 데 도움이 되는 출발점으로 사용할 수 있는 오래된 즐겨찾기도 있습니다.

다음은 사용할 수 있는 몇 가지 일변량(단일 속성) 데이터 변환 목록입니다.

  • 정사각형과 큐브
  • 제곱근
  • 표준화(예: 0 평균 및 단위 분산)
  • 정규화(예: 0-1로 크기 조정)
  • 비판화(예: 실수를 범주형으로 변환)
어떤 것을 사용해야합니까? 다시 한 번 테스트 프로그램의 결과가 문제에 대한 최상의 변환을 알려줍니다.

2.4 데이터 요약

이 섹션은 데이터에서 명백한 관계를 플러시하기 위한 것입니다.

  • 각 속성의 일변량(univariate) 플롯을 생성합니다.
  • 다른 모든 속성과 함께 각 속성의 이변량(bivariate) 플롯을 만듭니다.
  • 클래스 변수를 사용하여 각 속성의 이변량(bivariate) 플롯 만들기

3. 스팟 체크 알고리즘

이제 모델을 구축하고 평가할 때입니다.

체크리스트의 이 부분에 대해 자세히 알아보려면 “머신러닝 알고리즘을 평가하는 방법” 및 “머신러닝 문제에 대한 스팟 검사 알고리즘이 되어야 하는 이유” 게시물을 참조하세요.

3.1 테스트 프로그램 만들기

이 섹션은 결과를 비교하는 데 안정적으로 사용할 수 있는 강력한 모델 평가 방법을 정의하는 데 도움을 주기 위한 것입니다.

  • 나중에 사용할 수 있도록 홀드아웃 유효성 검사 데이터 세트를 만듭니다.
  • 적절한 테스트 옵션을 평가하고 선택합니다.
  • 모델을 평가하는 데 사용되는 성능 측정값을 하나 또는 작은 집합으로 선택합니다.

3.2 후보 알고리즘 평가

이 섹션은 문제가 얼마나 학습 가능한지, 그리고 다음 단계에서 추가 조사에 유용할 수 있는 데이터에 대한 알고리즘 및 뷰를 신속하게 플러시하기 위한 것입니다.

  • 평가할 다양한 알고리즘 세트를 선택하십시오 (10-20).
  • 공통 또는 표준 알고리즘 매개 변수 구성을 사용합니다.
  • 준비된 각 데이터 뷰에서 각 알고리즘을 평가합니다.

분류 문제에 대해 시도할 후보 목록 알고리즘

솔직히, 목록은 현장 확인 전략만큼 중요하지 않으며 좋아하는 알고리즘을 사용하지 않습니다.

그럼에도 불구하고 분류 문제를 해결하는 경우 문제를 완전히 다르게 모델링하는 알고리즘을 잘 혼합하십시오. 예를 들어:

  • k-최근접 이웃 및 학습 벡터 양자화와 같은 인스턴스 기반
  • Naive Bayes, 로지스틱 회귀 분석 및 선형 판별 분석과 같은 간단한 방법
  • CART 및 C4.5/C5.0과 같은 의사 결정 트리
  • 역전파 및 서포트 벡터 머신과 같은 복잡한 비선형 접근 방식
  • 랜덤 포레스트와 그라디언트 부스트 머신을 사용하십시오.

시도할 알고리즘에 대한 아이디어를 얻으려면 “머신러닝 알고리즘 둘러보기” 게시물을 참조하십시오.


4. 결과 개선

이 시점에서 문제에 효과적인 것으로 알려진 더 작은 모델 풀을 갖게 됩니다. 이제 결과를 개선할 때입니다.

체크리스트의 이 부분은 “머신러닝 결과를 개선하는 방법” 게시물에서 자세히 알아볼 수 있습니다.

4.1 알고리즘 튜닝

이 섹션은 성능이 좋은 모델을 최대한 활용하기 위한 것입니다.

  • 역사적으로 효과적인 모델 매개변수를 사용합니다.
  • 모델 매개변수의 공간을 검색합니다.
  • 성능이 우수한 모델 파라미터를 최적화합니다.

4.2 앙상블 방법

이 섹션은 성능이 좋은 모델의 결과를 결합하고 정확도를 더욱 높이기 위한 것입니다.

  • 성능이 좋은 모델에서 배깅을 사용하십시오.
  • 성능이 좋은 모델에서 부스트를 사용합니다.
  • 성능이 좋은 모델의 결과를 혼합합니다.

4.3 모델 선택

이 섹션은 모델 선택 프로세스를 잘 고려하기 위한 것입니다.

  • 성능이 좋은 모델 또는 모델 구성의 다양한 하위 집합(5-10)을 선택합니다.
  • 홀드아웃 유효성 검사 데이터 세트에서 성능이 좋은 모델을 평가합니다.
  • 성능이 좋은 모델의 작은 풀(1-3)을 선택합니다.

5. 프로젝트 마무리

이제 결과가 나오고 문제 정의를 되돌아보고 문제를 잘 활용하는 방법을 상기시킵니다.

머신러닝 결과 사용 방법” 게시물에서 검사 목록의 이 부분에 대해 자세히 알아볼 수 있습니다.

5.1 결과 발표

이 섹션은 다른 사람(그리고 미래의 자신)이 그것을 최대한 활용할 수 있도록 당신이 하고 배운 것을 포착하기 위한 것입니다.

  • 짧은 보고서 (1-5 페이지)로 프로젝트를 작성하십시오.
  • 글을 슬라이드 데크로 변환하여 결과를 다른 사람들과 공유할 수 있습니다.
  • 코드 및 결과를 이해 관계자와 공유합니다.

5.2 결과 조작

이 섹션은 미리 작성된 솔루션 약속을 이행하기 위한 것입니다.

  • 미가공 데이터에서 검색된 절차를 작동 설정에 맞게 조정합니다.
  • 예측을 전달하고 활용하십시오.
  • 예측 모델을 제공하고 활용합니다.

이 체크리스트를 최대한 활용하기 위한 팁

이 체크리스트를 따르면 매우 강력한 도구라고 생각합니다.

이 섹션에서는 자신의 문제에 대한 체크리스트를 최대한 활용하는 데 사용할 수있는 몇 가지 추가 팁을 제공합니다.

  1. 프로세스를 단순화하십시오. 첫 번째 시도에서 모든 것을 하지 마십시오. 스팟 체크할 알고리즘 2개, 데이터 변환 1개, 결과 개선 방법 1개 등을 선택합니다. 체크리스트의 한 주기를 거친 다음 나중에 복잡성을 추가하기 시작합니다.
  2. 버전 제어를 사용합니다. 많은 모델과 많은 스크립트를 만들 것입니다 (R 또는 Python을 사용하는 경우). 버전 제어(예:GitHub)를 사용하여 좋은 결과를 잃지 않도록 합니다.
  3. 절차화. 결과도, 변환도, 시각화도 특별하지 않습니다. 모든 것은 절차적으로 생성되어야 합니다. Weka를 사용 하는 경우 기록하는 프로세스 일 수도 있고, R 또는 Python을 사용하는 경우 Makefiles 일 수도 있습니다. 처음부터 모두 절차 화되어 있다면 “make“를 입력하는 것만 큼 간단합니다.
  4. 모든 결과를 기록합니다. 모든 알고리즘이 파일에 예측을 저장하는 것이 좋은 습관이라고 생각합니다. 또한 각 데이터 변환 및 샘플을 별도의 파일에 저장합니다. 데이터가 프로젝트의 일부로 디렉터리의 파일에 있는 경우 항상 데이터에 대해 새 분석을 실행할 수 있습니다. 결과를 달성하는 데 몇 시간, 며칠 또는 몇 주가 걸리는 경우 이는 훨씬 더 중요합니다. 여기에는 더 복잡한 혼합 전략에 유용할 수 있는 교차 검증 예측이 포함됩니다.
  5. 단계를 건너뛰지 마세요. 한 걸음 뒤로 물러날 수 있지만 모든 것을 알고 있다고 생각하더라도 어떤 단계도 건너 뛰지 마십시오. 체크리스트의 아이디어는 결과를 보장하는 것입니다. 의사는 매우 똑똑하고 자격이 있지만 여전히 손을 씻도록 상기시켜야 합니다. 때로는 절대적으로 중요한 프로세스의 핵심 단계를 잊어 버릴 수 있습니다 (예 : 문제를 정의하고 머신러닝이 필요하지 않다는 것을 깨닫는 것과 같이).


저는 이것이 정말로 작동 할 수 있는지 회의적입니다

만병통치약이 아닌 체크리스트일 뿐입니다.

당신은 여전히 일을 해야 합니다. 알고리즘과 데이터 조작 방법을 최대한 활용하려면 여전히 알고리즘과 데이터 조작 방법에 대해 배워야 합니다. 여전히 도구와 도구를 최대한 활용하는 방법에 대해 배워야 합니다.


직접 사용해보십시오.

문제를 처음부터 끝까지 해결할 수 있다는 것을 스스로 증명하십시오. 한 시간 안에 하십시오.

  1. 데이터 세트를 선택합니다.
  2. Weka를 사용하십시오 (프로그래밍을 피하기 위해).
  3. 프로세스를 사용하십시오.

첫 번째 결과를 얻으면 문제 정의, 데이터 준비 및 프로세스 백엔드에서 솔루션을 제시하는 데 많은 시간을 할애하는 것이 얼마나 쉬운지, 왜 그렇게 중요한지 알게 될 것입니다.


이 접근 방식은 최상의 결과를 얻지 못합니다.

이 체크리스트는 문제 전반에 걸쳐 안정적이고 일관되게 좋은 결과를 제공합니다.

이 체크리스트를 한 번 통과하면Kaggle대회에서 우승 할 수 없으며 제출할 수있는 결과를 얻을 수 있으며 리더 보드의 50 % 이상 (종종 훨씬 더 높음)에 앉을 수 있습니다.

이를 사용하여 훌륭한 결과를 얻을 수 있지만 얼마나 많은 시간을 투자하고 싶은지의 문제입니다.


검사 목록은 테이블 형식 데이터의 분류 문제에 대한 것입니다.

이 체크리스트를 표 형식 데이터에 대한 분류 문제와 함께 보여 주기로 선택했습니다.

그렇다고 분류 문제에만 국한된 것은 아닙니다. 다른 문제 유형(예: 회귀) 및 다른 데이터 유형(예: 이미지 및 텍스트)에 쉽게 적용할 수 있습니다.

저는 과거에 이 체크리스트의 변형을 두 가지 모두에 사용했습니다.


체크리스트는 기술 “XYZ“를 다루지 않습니다.

체크리스트의 장점은 아이디어의 단순성입니다.

제가 제시한 절차가 마음에 들지 않으면 자신의 절차로 교체하십시오. 사용하고 싶은 모든 기술을 추가하십시오. 나만의 체크리스트를 만드세요!


이 접근 방식에는 많은 중복성이 있습니다.

저는 머신러닝 문제를 통해 일하는 것을 착취(exploitation)와 탐험(exploration) 사이의 균형으로 본다.

머신러닝, 데이터 및 도메인에 대해 알고 있는 모든 것을 활용하려고 합니다. 주어진 문제에 대한 프로세스에 이러한 요소를 추가하십시오.

그러나 탐색을 배제하지 마십시오. 편견이 최선이 아니라고 제안하는 것들을 시도해야 합니다. 때때로, 더 자주, 당신의 편견은 좋지 않기 때문입니다. 이것이 데이터와 머신러닝의 특성입니다.


파이프라인을 코드업하지 않는 이유는 무엇입니까?

안될 이유는 전혀 없습니다. 어쩌면 당신이 시스템 전문가라면 반드시 해야 할 일입니다.

저는 많은 다른 도구 체인과 플랫폼을 여러 개 가지고 있습니다. 코딩 된 시스템에서 적절한 수준의 유연성을 찾는 것은 매우 어렵습니다. 항상 깔끔하게 맞지 않는 방법이나 도구가 있는 것 같습니다.

많은 MLaaS(Machine Learning As A Service)가 좋은 결과를 보장하기 위해 위의 체크리스트와 매우 유사한 파이프라인을 생성한다고 생각합니다.


이유를 모른 채 좋은 결과를 얻을 것입니다.

이것은 초보자 일 때 발생할 수 있습니다.

데이터 준비 및 모델링 알고리즘의 최종 조합에 대해 좀 더 자세히 알아볼 수 있고 또 그래야 합니다. 다른 사람이 복제할 수 있도록 모든 절차에 결과를 제공해야 합니다(예: 공개적으로 또는 작업 프로젝트인 경우 조직 내에서).

좋은 결과는 전달 방식이 재현 가능하고 평가가 엄격한 경우 독립형이 될 수 있습니다. 위의 체크리스트는 잘 실행되는 경우 이러한 기능을 제공합니다.


조치 단계

체크리스트를 사용하여 프로젝트를 완료하고 자신감을 쌓으십시오.

  1. 1-2시간 내에 완료할 수 있는 문제를 선택합니다.
  2. 체크리스트를 사용하여 결과를 얻으십시오.
  3. 첫 번째 프로젝트를 공유하십시오 (의견에).
네피리티
No Comments

Sorry, the comment form is closed at this time.