업계 뉴스레터
전문가가 전하는 최신 AI 트렌드
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
Scikit-learn(종종 scikit-learn 또는 sklearn으로 표기)은 널리 사용되는 Python용 오픈 소스 머신 러닝 라이브러리입니다.
Scikit-learn은 오늘날 가장 많이 사용되는 머신 러닝(ML) 라이브러리 중 하나입니다. Python으로 작성된 이 데이터 과학 툴 세트는 일관된 인터페이스로 인공 지능(AI) ML 및 통계 모델링을 간소화합니다. 여기에는 분류, 회귀, 클러스터링 및 차원 축소를 위한 필수 모듈이 포함되어 있으며, 모두 NumPy, SciPy 및 Matplotlib 라이브러리 위에 구축되어 있습니다. Python에서 처음부터 머신 러닝 알고리즘을 구현하는 것은 계산 집약적이고 오류가 발생하기 쉬운 작업일 수 있으며 선형 대수학, 미적분학 및 최적화에 대한 전문 지식이 필요합니다. Scikit-learn은 이러한 문제를 완화하는 데 유용한 리소스가 될 수 있습니다.
scikit-learn의 강력한 사전 학습된 신경망 및 머신 러닝 알고리즘 제품군을 활용하여 현장에 처음 입문하는 사람들도 지도 학습 애플리케이션을 위한 데이터 세트를 빠르고 효과적으로 사전 처리할 수 있습니다. 이 단계는 선형 대수학, 미적분학 또는 카디널리티와 같은 복잡한 수학적 개념에 대한 심층적인 이해 없이도 수행할 수 있습니다. 또한 이러한 툴은 클러스터 및 차원 축소를 포함한 비지도 학습 프로세스를 용이하게 합니다. 이러한 툴을 통해 사용자는 더 높은 수준의 통찰력과 비즈니스 가치 창출에 집중할 수 있습니다.
Numpy: 과학 컴퓨팅에 중요한 Python 라이브러리 중 하나입니다. scikit-learn을 사용하는 동안 배열에 대한 효율적인 작업을 위한 수많은 기능과 함께 배열 개체 및 기타 다양한 데이터 세트 유형을 제공합니다.
Scipy: Python으로 데이터 과학을 위한 오픈 소스 소프트웨어를 만들고 배포하는 것을 목표로 하는 커뮤니티 중심의 프로젝트입니다. 특히, 그 임무는 오픈 소스 라이선스(예: BSD라고도 하는 Berkeley Software Distribution 라이선스)에 따라 무료로 사용할 수 있고 Scipy 조직 내의 GitHub 저장소를 통해 공개적으로 액세스할 수 있는 Scipy 패키지를 개발하고 유지 관리하는 데 중점을 둡니다.
Matplotlib: 데이터 과학자가 데이터 세트를 유익한 그래프, 차트 및 기타 시각화로 변환할 수 있도록 지원하는 Python용 광범위하고 유연한 플로팅 라이브러리입니다. 포괄적인 툴과 기능 세트를 제공함으로써 Matplotlib은 데이터 분석, 탐색 및 커뮤니케이션을 용이하게 합니다.
Cython: C 함수에 대한 직접 호출과 변수 및 클래스 속성에 대한 C 데이터 세트 유형의 명시적 선언을 가능하게 하여 Python 의 기능을 확장합니다. 이 기능을 사용하면 sklearn 내에서 사용할 수 있도록 Cython 소스 코드에서 고도로 최적화된 C 코드를 생성할 수 있습니다.
업계 뉴스레터
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
scikit-learn으로 작업할 때 머신 러닝 모델에 입력하기 전에 훈련 데이터가 적절하게 준비되고 형식이 지정되었는지 확인하는 것이 중요합니다. 이 프로세스를 전처리라고 하며 scikit-learn은 데이터 세트를 구성하는 데 도움이 되는 다양한 툴을 제공합니다. scikit-learn 전처리의 이 단계에서 일반적인 작업 중 하나는 MinMax Scaler 또는 Standard Scaler와 같은 기술을 사용하여 숫자 기능이 유사한 크기를 갖도록 조정되는 정규화입니다. 데이터 세트를 범주형 변수에서 숫자 표현으로 인코딩해야 하는 경우, 원핫 인코딩(OHE) 또는 레이블 인코더(LE)를 사용하면 모델의 워크플로와 호환되도록 만들 수 있습니다. OHE는 카테고리형 데이터 값을 이진 벡터로 변환하여 각 카테고리에 대해 카테고리의 존재 또는 부재를 나타내는 1 또는 0을 가진 새 열을 생성합니다. LE는 카테고리나 클래스에 숫자 레이블을 할당하는 머신 러닝에 사용됩니다. 원핫 인코더와 달리 새 열을 생성하지 않고 범주형 값을 정수 값으로 대체합니다. 이는 서수 가정과 같은 문제로 이어질 수 있으며 한계로 인해 현대 머신 러닝 관행에서 OHE보다 덜 일반적입니다.
전처리에는 특징 선택이 포함될 수도 있으며, 이 경우 모델 학습을 위해 관련 있는 scikit-learn 특징 일부가 선택될 수 있습니다. 이 단계는 관련 없는 열을 제거하거나 재귀 기능 제거(RFE) 또는 상호 정보(MI)와 같은 기술을 사용하여 수행할 수 있습니다. 재귀적 특징 제거는 감소된 특징 세트로 모델을 반복적으로 제거하고 재훈련하여 데이터 세트에서 가장 중요한 특징을 선택하여 궁극적으로 최고 성능의 특징을 식별하는 데 사용되는 기술입니다. 상호 정보는 한 확률 변수가 다른 확률 변수에 대해 포함하는 정보의 양을 측정하여 어떤 기능이 목표 결과와 상관 관계가 높거나 관련이 있는지 식별할 수 있습니다. 이 방법은 정보 변수를 선택하는 데 유용합니다. 또한 결측값을 처리하는 것은 매우 중요하며, scikit-learn은 평균/중앙값 대치, 순방향 채우기/역방향 채우기, 또는 그보다 더 정교한 방식 등 다양한 대치 방법을 제공합니다.
이러한 작업을 수행하기 위해 scikit-learn에는 포괄적인 전처리 툴 모음이 포함되어 있습니다. StandardScaler 및 MinMaxScaler 클래스는 숫자 기능 크기 조정에 널리 사용되는 반면 OneHotEncoder는 범주형 변수에 이상적입니다. 결측값 대치의 경우 SimpleImputer 클래스는 선택할 수 있는 다양한 메서드를 제공합니다. 이러한 툴을 창의적인 방식으로 결합하면 강력한 전처리 파이프라인을 만들어 더 나은 머신 러닝, 모델 성능 및 정확성을 보장할 수 있습니다.
예를 들어, StandardScaler를 사용하여 데이터의 숫자 특징을 표준화한 다음 OneHotEncoder를 사용하여 범주형 변수를 수치 표현으로 변환할 수 있습니다. 범주형 변수의 각 고유 카테고리에 대해 새로운 이진(0 또는 1) 기능이 생성됩니다. 관측값의 카테고리가 'X'인 경우 'X'에 해당하는 특징의 값은 1로 설정되고 다른 모든 특징은 0으로 설정됩니다. 이 과정을 특징 추출이라고도 할 수 있습니다. 이러한 작업을 함께 연결하면 머신 러닝 모델 학습에 사용할 수 있는 데이터 세트를 준비할 수 있습니다.
Scikit-learn은 분류 및 회귀 문제 모두에 대한 다양한 기본 제공 지표를 제공하여 모델 최적화 또는 모델 선택과 관련된 의사 결정 프로세스를 지원합니다. 머신 러닝, 특히 scikit-learn의 맥락에서 회귀 모델은 입력 특성을 기반으로 연속적인 결과를 추정하는 일종의 예측 모델입니다. 개별 레이블이나 카테고리를 예측하는 분류 모델과 달리 회귀 모델은 수량을 예측할 때 사용됩니다.
분류 작업의 경우 지표에는 정확도, 정밀도, 재현율, F1 점수 및 ROC 곡선 아래 면적(AUC-ROC)이 포함됩니다.
회귀 작업의 경우 scikit-learn의 일반적인 평가 지표에는 평균 절대 오차(MAE), 평균 제곱근 오차(RMSE), R^2 점수 및 평균 제곱 오차(MSE)가 포함됩니다.
예를 들어, scikit-learn을 사용하는 신용 위험 평가 시나리오에서 수신자 작동 특성 곡선(AUC-ROC) 지표는 모델 성능을 평가하는 데 매우 중요합니다. 이 지표는 소득, 부채 대비 소득 비율 및 고용 이력을 포함한 기능을 기반으로 대출을 불이행한 차용인과 그렇지 않은 차용인을 구별하는 모델의 능력을 측정합니다. AUC-ROC 값이 1에 가까울수록 더 높은 능력을 갖춘 더 나은 모델을 의미하며, 은행 관리자가 대출 결정에 대한 모델의 적합성을 결정하거나 개선이 필요한 영역을 식별하는 데 도움이 됩니다.
Scikit-learn의 지표를 사용하면 다양한 작업과 시나리오에서 머신 러닝 모델을 철저하게 평가할 수 있습니다. 이러한 지표를 이해하면 모델의 성능을 해석하고, 개선이 필요한 잠재적 영역을 파악하고, 궁극적으로 특정 문제에 대해 가장 성능이 뛰어난 모델을 선택하거나 최적화하는 데 도움이 됩니다.
이메일 스팸 감지: 로지스틱 회귀나 서포트 벡터 머신(SVM)을 포함한 scikit-learn의 분류 알고리즘은 이메일을 스팸 여부에 따라 분류함으로써 원치 않는 이메일을 걸러내는 데 도움을 줍니다. Sklearn은 또한 나이브 베이즈 분류기가스팸과 스팸이 아닌 이메일을 얼마나 잘 구별할 수 있는지 평가하기 위해 Cross_val_score를 사용하여 교차 검증하는 기능을 갖추고 있습니다. Sklearn은 교차 검증을 사용하여 5가지 데이터 분할에 걸쳐 모델을 학습하고 테스트합니다. 이는 보이지 않는 새로운 이메일에 대한 모델의 성능을 더 잘 파악할 수 있는 평균 성능 지표를 제공합니다.
주택 가격 예측: Scikit-learn은 회귀 기술에 사용되어 위치, 규모, 편의 시설과 같은 특징을 기반으로 주택 가격을 추정하여 구매자가 정보에 입각한 결정을 내릴 수 있도록 지원할 수 있습니다. Scikit-learn은 Matplotlib와 같은 데이터 시각화 라이브러리와 원활하게 통합됩니다. 이를 통해 회귀 결과에 대한 이해와 해석을 향상시키는 시각화가 가능하므로 이와 같은 사용 사례에서 더 나은 정보에 입각한 의사 결정을 내릴 수 있습니다.
너도밤나무 잎마름병 탐지: 미국 동부 산림에서 scikit-Learn의 의사결정트리 알고리즘을 사용하여 너도밤나무 잎마름병(BLD)을 탐지할 수 있습니다. 이 모델은 나무의 나이, 위치, 잎 상태와 같은 요소를 분석하여 BLD 위험이 있는 너도밤나무를 식별할 수 있습니다. 머신러닝 및 데이터 기반 접근 방식을 사용하면 가장 취약한 나무를 정확히 찾아내고 이를 보호하기 위한 전략을 배포할 수 있습니다.
이상 탐지: 사이버 보안에서 scikit-learn의 k-평균 클러스터를 사용하면 잠재적인 보안 침해의 신호가 될 수 있는 비정상적인 패턴이나 동작을 탐지할 수 있습니다. k-평균은 유사한 데이터 포인트를 클러스터화하여 이상값(기존 클러스터에서 크게 벗어난 데이터 포인트)을 잠재적 이상 항목으로 식별하는 데 도움이 됩니다. 이러한 이상 징후는 무단 액세스 시도, 맬웨어 활동 또는 기타 악의적인 작업을 나타낼 수 있습니다. sklearn을 사용하여 이러한 이상 징후를 적시에 탐지하면 사이버 보안 팀이 위협을 신속하게 조사하고 완화하여 조직의 보안 태세를 강화할 수 있습니다.
신용 위험 평가: 금융기관은 잠재 대출 신청자의 신용 위험을 평가할 때 신용 기록, 소득, 부채 대비 소득 비율과 같은 가장 중요한 특징을 식별하기 위해 scikit-learn의 랜덤 포레스트 알고리즘을 사용합니다. 랜덤 포레스트로 변수의 중요도를 평가하여 대출 기관은 대출 승인 대상과 이자율에 대해 더 많은 정보를 바탕으로 결정을 내릴 수 있습니다.
유전체학 연구: Sklearn은 주성분 분석(PCA)을 포함한 기술을 적용하여 유전 데이터의 복잡성을 줄여 노이즈에 압도되지 않고 중요한 패턴을 더 쉽게 식별할 수 있습니다.
텍스트 분석: 대규모 문서나 데이터 세트를 처리할 때 차원 축소는 주요 주제나 주제를 효율적으로 요약하고 시각화하는 데 도움이 되며, 이는 감정 분석이나 콘텐츠 추천 시스템과 같은 영역에 매우 중요합니다.
Scikit-learn은 주로 머신 러닝 알고리즘에 중점을 두지만 대규모 언어 모델(LLM)을 통합하도록 확장할 수 있습니다. 원래는 의사결정트리, 서포트 벡터 머신, 클러스터링 알고리즘과 같은 전통적 모델에 초점을 맞추고 있었지만, scikit-learn의 유연한 에코시스템은 애플리케이션 프로그래밍 인터페이스(API) 구성 방식을 통해 LLM과의 통합도 가능하게 합니다. 여기에는 OpenAI의 GPT 시리즈와 같은 모델과 Anthropic 또는 AzureChatOpenAI 모델과 같은 기타 커뮤니티 기여 옵션을 활용하는 것이 포함됩니다.
Python 환경, NumPy, SciPy, Pandas 및 Matplotlib에 대한 실무 이해는 머신 러닝 파이프라인에서 데이터 전처리, 기능 엔지니어링 및 시각화의 기반을 형성하기 때문에 scikit-learn의 효율성을 활용하는 데 필수적입니다. 이러한 라이브러리는 머신 러닝 파이프라인에서 데이터 전처리, 기능 엔지니어링 및 시각화를 위한 기반을 제공합니다. 이러한 기능에 익숙해지면 데이터 세트를 효율적으로 처리하고, 관련 기능을 선택하며, 결과를 시각화할 수 있으며, 궁극적으로 모델 성능을 향상시킬 수 있습니다.
Python과 그 종속성의 독립형 설치를 통해 프로젝트의 요구 사항을 격리하고 다양한 프로젝트 간의 일관성을 보장할 수 있습니다. conda 또는 virtualenv와 같은 도구를 사용하여 만들 수 있습니다.
대규모 다차원 배열 및 행렬과 이를 조작할 수 있는 성능 수학 함수를 지원하는 라이브러리입니다. Python의 과학 컴퓨팅을 위한 기본 패키지입니다.
NumPy를 기반으로 구축된 라이브러리로, 신호 처리, 선형 대수학, 최적화 및 통계와 같은 과학 및 엔지니어링 애플리케이션을 위한 기능을 제공합니다. 물리학, 공학, 데이터 분석과 같은 분야에서 널리 사용됩니다.
스프레드시트 및 SQL 테이블과 같은 표 형식 데이터를 포함하여 구조화된 데이터를 효율적으로 처리하기 위한 데이터 구조 및 기능을 제공하는 라이브러리입니다. 데이터 정리, 필터링, 그룹화, 데이터 병합에 특히 유용합니다.
다양한 시각화 도구를 제공하는 플로팅 라이브러리로, 고품질 2D 및 3D 플롯, 차트 및 그래프를 만들 수 있습니다. 과학 데이터를 시각화하기 위해 NumPy 및 Pandas와 함께 자주 사용됩니다.
scikit-learn이 계속 발전함에 따라 고급 앙상블 기술과 메타 학습 접근 방식으로 능력을 확장하려는 노력이 진행 중입니다. scikit-learn은 기존 알고리즘과 함께 신경망의 힘을 활용하여 점점 더 다양해지는 머신 러닝 문제를 해결할 수 있는 포괄적인 툴킷을 제공하는 것을 목표로 합니다. 이러한 개발로 인해 업무에 최첨단 기술을 활용하고자 하는 실무자들이 더욱 쉽게 접근할 수 있게 될 것입니다.
AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.
업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.
AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.