맨위로가기

Scikit-learn

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

scikit-learn은 파이썬 프로그래밍 언어를 위한 오픈 소스 기계 학습 라이브러리이다. 2007년 David Cournapeau가 Google Summer of Code 프로젝트로 시작했으며, INRIA, 텔레콤 파리, 구글 등의 지원을 받아 개발되었다. scikit-learn은 NumPy를 광범위하게 사용하며, Cython으로 작성된 핵심 알고리즘을 포함한다. 다양한 기계 학습 알고리즘, 데이터 분석 도구, 모델 선택 및 평가 도구를 제공하며, Evernote, Mendeley 등에서 활용되고 있다.

더 읽어볼만한 페이지

  • 기계 학습 및 데이터 마이닝 소프트웨어 - GNU 옥타브
    GNU 옥타브는 MATLAB과 높은 호환성을 가지며 수치 해석 계산을 위해 사용되는 자유-오픈 소스 소프트웨어이다.
  • 기계 학습 및 데이터 마이닝 소프트웨어 - SAS (소프트웨어)
    SAS는 통계 분석, 데이터 마이닝, 예측 모델링 기능을 제공하는 소프트웨어 제품군으로, 농업 데이터 분석을 위해 개발되어 다양한 산업 분야에서 활용되고 있으며 인공지능 및 머신러닝 분야로 투자를 확대하고 있다.
  • BSD 라이선스 소프트웨어 - V8 (자바스크립트 엔진)
    V8은 구글이 개발한 오픈 소스 자바스크립트 엔진으로, 자바스크립트 코드 실행 속도 향상을 위해 여러 컴파일러를 거쳐 크롬, 노드.js 등에서 활용된다.
  • BSD 라이선스 소프트웨어 - VP9
    VP9는 구글이 개발한 오픈 소스 비디오 코덱으로, VP8보다 압축 효율을 높이고 HEVC보다 나은 성능을 목표로 개발되었으며, WebM 형식으로 사용되고 주요 웹 브라우저와 넷플릭스, 유튜브 등에서 지원했으나 AV1의 등장으로 개발이 중단되었다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
    브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
    광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
Scikit-learn - [IT 관련 정보]에 관한 문서
개요
Scikit-learn 로고
Scikit-learn 로고
저자David Cournapeau
출시일2007년 6월
자주 업데이트됨
프로그래밍 언어파이썬, Cython, C, C++
운영체제리눅스, macOS, 마이크로소프트 윈도우
장르기계 학습 라이브러리
라이선스BSD 라이선스
웹사이트공식 웹사이트

2. 역사

scikit-learn 프로젝트는 2007년 데이비드 코르노포(David Cournapeau)가 구글 썸머 오브 코드 프로젝트로 시작하였다. 초기에는 scikits.learn이라는 이름으로 개발되었으며, 이는 "SciKit"(SciPy Toolkit) 즉, 독립적으로 개발 및 배포되는 SciPy의 서드파티 확장 모듈을 의미한다.[25] 2010년, 프랑스 국립 정보통신 자동화 연구소(INRIA)의 연구진(파비앙 페드레고사, 가엘 바르쿠, 알렉상드르 그람포르, 빈센트 미셸)들이 프로젝트를 주도하면서 2010년 2월 1일에 첫 번째 공개 버전을 출시했다.[4] 2015년 이후, INRIA, Télécom Paris영어, 구글의 지원을 받으며 활발하게 개발되고 있다.[27]

scikit-learn의 API는 wiseRF라고 불리는 비자유 랜덤 포레스트 구현을 제공하는 wise.io에 채택되었다.[30][31] wise.io의 비즈니스 파트너인 Continuum IO는 데이터 처리량이 scikit-learn 구현의 7.5배로 증가했다고 밝혔으나,[32] scikit-learn 개발자들은 메모리 사용 외의 부분에서 wise.io에 필적하도록 구현을 최적화했다고 주장하고 있다.[33]

다음은 scikit-learn의 주요 버전 출시 이력을 나타낸 표이다.

출시일버전
2013년 8월0.14[36]
2014년 7월0.15.0[36]
2015년 3월0.16.0[36]
2015년 11월0.17.0[36]
2016년 9월0.18.0
2017년 7월0.19.0
2018년 9월0.20.0[37]
2019년 5월0.21.0[38]
2019년 12월0.22.0[39]
2020년 5월0.23.0[40]
2021년 1월0.24[41]
2021년 9월1.0[42]


2. 1. 초기 개발

scikit-learn 프로젝트는 프랑스 데이터 과학자 데이비드 코르노포가 진행한 구글 하계 코드 프로젝트인 scikits.learn으로 시작되었다. 이 프로젝트의 이름은 SciPy의 별도로 개발되고 배포되는 타사 확장 기능인 "SciKit"(SciPy 툴킷)이라는 개념에서 유래되었다.[3] 원래의 코드베이스는 이후 다른 프로그래머들에 의해 다시 작성되었다. 2012년 11월, scikit-learn과 scikit-image는 "유지 관리가 잘 되고 인기 있는" 두 개의 Scikits 라이브러리로 평가받았다.[5]

2. 2. 주요 개발 이정표

Scikit-learn 프로젝트는 2010년 프랑스 국립 정보통신 자동화 연구소의 파비앙 페드레고사, 가엘 바르쿠, 알렉상드르 그람포르, 빈센트 미셸 등이 주도하여 2010년 2월 1일에 첫 공개 버전을 출시했다.[4] 2012년 11월에는 scikit-learn과 scikit-image가 "유지 관리가 잘 되고 인기 있는" 두 라이브러리로 평가받았다.[5]

2019년에는 scikit-learn이 깃허브에서 가장 인기 있는 머신 러닝 라이브러리 중 하나로 언급되었다.[6] Evernote는 scikit-learn의 나이브 베이즈 분류기를 사용하여 사용자의 게시물에서 음식 레시피를 판별하고 있으며,[28] Mendeley는 scikit-learn의 SGD 회귀 알고리즘을 사용하여 추천 시스템을 구축하고 있다.[29]

3. 구현

scikit-learn은 주로 파이썬으로 작성되었으며, 고성능 선형 대수 및 배열 연산을 위해 NumPy를 광범위하게 사용한다. 또한, 일부 핵심 알고리즘은 성능 향상을 위해 Cython으로 작성되었다. 서포트 벡터 머신은 LIBSVM을 둘러싼 Cython 래퍼로 구현되었으며, 로지스틱 회귀 및 선형 서포트 벡터 머신은 LIBLINEAR를 둘러싼 유사한 래퍼로 구현되었다.

scikit-learn은 플로팅을 위한 Matplotlib 및 plotly, 배열 벡터화를 위한 NumPy, Pandas 데이터프레임, SciPy 등과 같은 다른 많은 파이썬 라이브러리와 잘 통합된다.

4. 버전 역사

출시일버전
2013년 8월scikit-learn 0.14[36]
2014년 7월scikit-learn 0.15.0[36]
2015년 3월scikit-learn 0.16.0[36]
2015년 11월scikit-learn 0.17.0[36]
2016년 9월scikit-learn 0.18.0
2017년 7월scikit-learn 0.19.0
2018년 9월scikit-learn 0.20.0[37]
2019년 5월scikit-learn 0.21.0[38]
2019년 12월scikit-learn 0.22.0[39]
2020년 5월scikit-learn 0.23.0[40]
2021년 1월scikit-learn 0.24[41]
2021년 9월scikit-learn 1.0.0[42]
2021년 10월scikit-learn 1.0.1
2021년 12월scikit-learn 1.0.2
2022년 5월scikit-learn 1.1.0
2022년 5월scikit-learn 1.1.1
2022년 8월scikit-learn 1.1.2
2022년 10월scikit-learn 1.1.3
2022년 12월scikit-learn 1.2.0
2023년 1월scikit-learn 1.2.1
2023년 3월scikit-learn 1.2.2


5. 대안


  • mlpy
  • SpaCy
  • NLTK
  • 오렌지
  • 파이토치
  • 텐서플로우
  • Infer.NET
  • 수치 해석 소프트웨어 목록

참조

[1] 논문 scikit-learn: Machine Learning in Python http://jmlr.org/pape[...]
[2] 웹사이트 NumFOCUS Sponsored Projects https://numfocus.org[...] NumFOCUS 2021-10-25
[3] 웹사이트 scikit-learn https://scikits.apps[...]
[4] 웹사이트 About us — scikit-learn 0.20.1 documentation https://scikit-learn[...]
[5] 서적 SciPy and NumPy: an overview for developers https://books.google[...] O'Reilly 2012
[6] 웹사이트 The State of the Octoverse: machine learning https://github.blog/[...] GitHub 2019-10-17
[7] 웹사이트 Release history — scikit-learn 0.19.dev0 documentation https://scikit-learn[...] 2017-02-27
[8] 웹사이트 Release History - 0.20.0 documentation https://scikit-learn[...] 2018-11-06
[9] 웹사이트 Release History - 0.21.0 documentation https://scikit-learn[...] 2019-05-05
[10] 웹사이트 Release History - 0.22 documentation https://scikit-learn[...] 2020-06-07
[11] 웹사이트 Release History - 0.23.0 documentation https://scikit-learn[...] 2020-06-07
[12] 웹사이트 Release History - 0.24 documentation https://scikit-learn[...] 2021-02-08
[13] 웹사이트 Release History - 1.0.0 documentation https://scikit-learn[...]
[14] 웹사이트 Release History - 1.0.1 documentation https://scikit-learn[...]
[15] 웹사이트 Release History - 1.0.2 documentation https://scikit-learn[...]
[16] 웹사이트 Release History - 1.1.0 documentation https://scikit-learn[...]
[17] 웹사이트 Release History - 1.1.1 documentation https://scikit-learn[...]
[18] 웹사이트 Release History - 1.1.2 documentation https://scikit-learn[...]
[19] 웹사이트 Release History - 1.1.3 documentation https://scikit-learn[...]
[20] 웹사이트 Release History - 1.2.0 documentation https://scikit-learn[...]
[21] 웹사이트 Release History - 1.2.1 documentation https://scikit-learn[...]
[22] 웹사이트 Release History - 1.2.2 documentation https://scikit-learn[...]
[23] 논문 Fabian Pedregosa; Gaël Varoquaux; Alexandre Gramfort; Vincent Michel; Bertrand Thirion; Olivier Grisel; Mathieu Blondel; Peter Prettenhofer; Ron Weiss; Vincent Dubourg; Jake Vanderplas; Alexandre Passos; David Cournapeau
[24] 웹사이트 Frequently Asked Questions https://scikit-learn[...] 2023-05-02
[25] 웹사이트 scikit-learn https://scikits.apps[...]
[26] 서적 Eli Bressert
[27] 웹사이트 About Us http://scikit-learn.[...]
[28] 웹사이트 Mark Ayzenshtat 2013-01-22
[29] 간행물 Mark Levy
[30] 웹사이트 wiserf http://about.wise.io[...]
[31] 간행물 Buitinck, Lars, Gilles Louppe, Mathieu Blondel, Fabian Pedregosa, Andreas Mueller, Olivier Grisel, Vlad Niculae et al.
[32] 웹사이트 wiseRF Use Cases and Benchmarks http://continuum.io/[...] 2012-11-27
[33] 웹사이트 Gaël Varoquaux 2013-08-08
[34] 논문 Scikit-learn: Machine Learning in Python http://jmlr.org/pape[...]
[35] 웹인용 NumFOCUS Sponsored Projects https://numfocus.org[...] NumFOCUS 2021-10-25
[36] 웹인용 Release history — scikit-learn 0.19.dev0 documentation https://scikit-learn[...] 2017-02-27
[37] 웹인용 Release History - 0.20.0 documentation https://scikit-learn[...] 2018-11-06
[38] 웹인용 Release History - 0.21.0 documentation https://scikit-learn[...] 2019-05-05
[39] 웹인용 Release History - 0.22.0 documentation https://scikit-learn[...] 2020-06-07
[40] 웹인용 Release History - 0.23.0 documentation https://scikit-learn[...] 2020-06-07
[41] 간행물 scikit-learn: A set of python modules for machine learning and data mining http://scikit-learn.[...] 2021-02-08
[42] 간행물 scikit-learn: A set of python modules for machine learning and data mining http://scikit-learn.[...] 2021-09-24



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com