UCI 머신러닝 Repository의 데이터 세트를 사용하여 머신러닝 연습

머신러닝을 연습하기 위한 좋은 데이터 세트는 어디에서 얻을 수 있을까요?

흥미롭고 관련성이 높은 실제 데이터 집합이지만 Excel에서 검토하고 데스크톱에서 작업할 수 있을 만큼 충분히 작아야 합니다.

이 게시물에서는 머신러닝을 연습하는 데 사용할 수 있는 고품질의 머신러닝 데이터 세트를 살펴볼 것입니다. 이 데이터베이스를 UCI 머신러닝 저장소라고 하며 이를 사용하여 자율 학습 프로그램을 구성하고 머신러닝의 견고한 기반을 구축할 수 있습니다.


연습 데이터 세트가 필요한 이유는 무엇입니까?

머신러닝을 연습하는 데 관심이 있는 경우 연습할 데이터 세트가 필요합니다.

다음과 같은 질문을 던질 수 있습니다.

  • 어떤 데이터 세트를 사용해야 합니까?
  • 직접 수집하는 게 좋을까요? 아니면 미리 준비된 것을 사용하는 게 좋을까요?

머신러닝에 대한 하향식 접근 방식을 가르치며, 문제를 종단간 작업하는 프로세스를 배우고, 해당 프로세스를 도구에 매핑하고, 대상 방식으로 데이터에 대한 프로세스를 연습하도록 권장합니다. 자세한 내용은 제 게시물 “프로그래머를위한 머신러닝 : 개발자에서 머신러닝 실무자로의 도약”을 참조하십시오.


그렇다면 목표 지향적 인 방식으로 어떻게 연습합니까?

가장 좋은 방법은 자신이 해결하고자 하는 문제와 유사한 특성을 지닌 데이터로 학습하는 것입니다.

  • 분류 및 회귀와 같은 다양한 유형의 지도 학습.
  • 수만, 수백, 수천 및 수백만 개의 인스턴스에서 서로 다른 크기의 데이터 세트.
  • 열 개, 수만개, 수백 개 및 수천 개 미만의 속성에서 서로 다른 수의 속성
  • 실제, 정수, 범주, 서수 및 혼합물과 다른 속성 유형
  • 새로운 문제를 신속하게 이해하고 특성화 하도록 만드는 다양한 도메인.

당신은 테스트 문제 데이터 세트를 디자인함으로써 학습하고 배워야 할 특성들과, 이 특성들을 해결하기 위한 알고리즘을 만들기 위한 프로그램을 만들 수 있습니다. 이러한 프로그램에는 다음과 같은 여러 가지 실질적인 요구 사항이 있습니다.

  • 현실 세계: 데이터 세트는 인위적인 것이 아니라 실제 세계에서 가져와야 합니다. 이것은 흥미롭고 실제 데이터와 함께 제공되는 도전 과제를 소개합니다.
  • 작음: 데이터 세트를 검사하고 이해할 수 있고 여러 모델을 신속하게 실행하여 학습 주기를 가속화할 수 있도록 데이터 세트가 작아야 합니다.
  • 잘 이해됨: 데이터에 포함된 내용, 수집된 이유, 조사의 틀을 잡기 위해 해결해야 할 문제가 무엇인지에 대한 명확한 아이디어가 있어야 합니다.
  • 기준: 어떤 알고리즘이 잘 작동하지, 그리고 알고리즘이 달성한 점수를 파악하여 유용한 비교 지점을 확보하는 것도 중요합니다. 당신은 자신이 얼마나 잘 하고 있는지에 대해 빠른 피드백이 필요하기 때문에 시작하고 배울 때 중요합니다
  • 풍부함: 조사하려는 특성과 (가능한 경우) 자연스러운 호기심과 관심사를 충족하기 위해 많은 데이터 세트가 필요합니다.

UCI 머신러닝 리포지토리에서 초보자가 연습할 때 필요한 데이트 세트를 많이 얻을 수 있습니다.


UCI 머신러닝 저장소란 무엇입니까?

UCI 머신러닝 리포지토리는 무료로 액세스할 수 있는 머신러닝 문제의 데이터베이스입니다.

캘리포니아 어바인 대학의 머신러닝 및 지능형 시스템 센터에서 호스팅하고 유지 관리합니다.이것은 원래 UC 어바인의 대학원생인 David Aha에 의해 만들어졌습니다.

각 데이터 세트는 조사하는 관련 간행물을 포함하여 알려진 모든 세부 정보를 나열하는 자체 웹 페이지를 가져옵니다. 데이터 세트 자체는 ASCII 파일, 종종 유용한 CSV 형식으로 다운로드 할 수 있습니다.

예를 들어, 다음은 물리적 측정에서 전복의 나이를 예측해야하는 Abalone Data Set의 웹 페이지입니다.


저장소의 이점

라이브러리의 몇 가지 유용한 기능은 다음과 같습니다.

  • 거의 모든 데이터 세트는 도메인에서 추출되며(합성이 아닌 경우), 이는 실제 품질이 있음을 의미합니다.
  • 데이터 세트는 생물학에서 입자 물리학에 이르기까지 광범위한 주제를 다룹니다.
  • 데이터 세트의 세부 정보는 속성 유형, 인스턴스 수, 속성 수 및 정렬 및 검색할 수 있는 게시 연도와 같은 측면으로 요약됩니다.
  • 데이터 세트는 잘 연구되어 흥미로운 속성과 예상되는 “좋은” 결과 측면에서 잘 알려져 있음을 의미합니다. 이것은 비교를 위한 유용한 기준선을 제공 할 수 있습니다.
  • 대부분의 데이터 세트는 작기 때문에 (수백 ~ 수천 개의 인스턴스) 텍스트 편집기 또는 MS Excel에서로드하고 검토 할 수 있으므로 워크 스테이션에서 신속하게 모델링 할 수도 있습니다.

정렬 및 검색을 지원하는 이 편리한 테이블을 사용하여 300개 이상의 데이터 세트를 찾아보십시오.


저장소에 대한 비판

저장소에 대한 몇 가지 비판은 다음과 같습니다.

  • 데이터 세트를 준비한 연구원이 속성 및 인스턴스 선택 측면에서 이미 사전 처리를 수행한 경우가 많습니다.
  • 데이터 집합은 작기 때문에 대규모 문제 및 기술을 조사하는 데 관심이 있는 경우에는 유용하지 않습니다.
  • 선택할 수 있는 것이 너무 많아서 선택을 못 하거나 분석에 과도한 시간을 쏟게 될 수 있습니다. “좋은 데이터 세트“인지 확신이 없는 상태에서 무조건 한가지를 골라 시작하는 것도 어려울 수 있습니다.
  • 데이터 세트는 주로 분류를 위해 테이블 형식 데이터로 제한됩니다(클러스터링 및 회귀 데이터 세트가 나열되더라도). 이것은 자연 언어, 컴퓨터 비전, 추천자 및 기타 데이터에 관심이 있는 사람들에게는 너무 제한적인 데이터입니다.

저장소 홈페이지에는 추천 데이터 세트, 최신 데이터 세트 및 현재 가장 인기있는 데이터 세트가 표시됩니다.


자율 학습 프로그램

그렇다면 UCI 머신러닝 저장소를 최대한 활용하려면 어떻게 해야 할까요?

배우고 싶은 문제 데이터 세트의 특성에 대해 생각해 보시기 바랍니다. 이것들은 회귀와 같이 당신이 모델링하려는 특성 또는 이를 다중 클래스 분류하기 위한 무작위 forest와 같은 모델링 알고리즘일 수 있습니다.

예제 프로그램은 다음과 같을 수 있습니다.

이것은 단지 특성 목록일 뿐이며 자신이 조사할 특성을 자유롭게 선택할 수 있습니다.

각 특성에 대해 하나의 데이터 세트를 나열했지만 2-3개의 서로 다른 데이터 세트를 선택하고 몇 가지 작은 프로젝트를 완료하여 이해를 높이고 더 많은 연습을 할 수 있습니다.

각 문제에 대해 예를 들어 적용된 머신러닝 프로세스에서 다음 단계를 수행하는 등 종단간 체계적으로 작업하는 것이 좋습니다.

  1. 문제 정의
  2. 데이터 준비
  3. 알고리즘 평가
  4. 결과 개선
  5. 결과 작성
프로그래머를 위한 기계 학습 - 체계적인 프로세스 선택

결과를 일관되게 전달하는 데 사용할 수 있는 체계적이고 반복 가능한 프로세스를 선택합니다.

머신러닝 문제를 체계적으로 해결하는 프로세스에 대한 자세한 내용은 “머신러닝 문제를 해결하는 프로세스“라는 제목의 제 게시물을 참조하십시오.

작성은 핵심 부분입니다.

이를 통해 향후 프로젝트에 대한 참조로 활용되는 프로젝트 포트폴리오를 구축하고 점프 스타트를 하게 될 수 있을 뿐만 아니라 공개 이력서 또는 머신러닝에서 성장하는 기술 및 기능으로 사용할 수 있습니다.

프로젝트 포트폴리오 구축에 대한 자세한 내용은 제 게시물 “머신러닝 포트폴리오 구축 : 소규모 집중 프로젝트 완료 및 기술 시연” 을 참조하십시오.


하지만, 만약에

머신러닝 도구를 모르겠다면?
도구 또는 플랫폼 (예 : Weka, R 또는 scikit-learn)을 선택하고 이 프로세스를 사용하여 도구를 배우십시오. 머신러닝을 연습하고 동시에 도구를 잘 익히도록 하십시오.


프로그래밍하는 방법 (또는 코드를 잘 작성)을 모르겠다면?
Weka를 사용하십시오. 그래픽 사용자 인터페이스가 있으며 프로그래밍이 필요하지 않습니다. 머신러닝 문제를 해결하는 과정이 플랫폼에 너무 잘 매핑되기 때문에 프로그래밍 할 수 있는지 여부에 관계없이 저는 초보자에게 이것을 추천할 것입니다.


내게 시간이 없다면?
체계적인 프로세스와 전체 프로세스를 다루는 좋은 도구를 사용하면 한 두 시간 안에 문제를 해결할 수 있다고 생각합니다. 하루 또는 이틀만에 하나의 프로젝트를 완료할 수 있습니다.시작할 때는 조사할 세부사항을 가볍고 간단한 것으로 선택하는 것이 좋습니다.



모델링하는 도메인에 대한 배경지식이 없다면?
데이터 집합 페이지는 데이터 집합에 대한 몇 가지 배경을 제공합니다. 종종 주요 데이터 세트와 함께 제공되는 간행물 또는 정보 파일을 보면서 더 깊이 파고 들 수 있습니다.


머신러닝 문제를 통해 일한 경험이 거의 없거나 전혀 없다면?

이제 시작할 시간입니다. 체계적인 프로세스를 선택하고 간단한 데이터 세트와 Weka같은 도구를 선택하고 첫 번째 문제를 해결하십시오. 머신러닝에 첫 번째 돌을 놓으십시오.


데이터 분석에 대한 경험이 없다면?

데이터 분석 경험이 필요하지 않습니다. 데이터 세트는 간단하고 이해하기 쉽고 잘 설명되어 있습니다. 데이터 세트 홈페이지를 사용하고 데이터 파일 자체를 읽어 보기만 하면 됩니다.


작업 단계

데이터 세트를 선택하고 시작하십시오.

자율 학습에 대해 진지하게 생각한다면 조사할 특성 및 해당 데이터 세트의 목록을 설계하는 것이 좋습니다. 당신은 많은 것을 배우고 더 복잡하고 흥미로운 문제에 뛰어들기 위한 귀중한 토대를 구축 할 것입니다.

네피리티
No Comments

Sorry, the comment form is closed at this time.