728x90

그동안 작성했던 교안을 정리해 봅니다. 총 15일차로 구성했습니다.

실무에 필요한 내용을 다루기전 기초에 대해서 학습내용으로 최대한 쉽게 접근할 있도록 했습니다.


15일차 : Python 활용한 머신 러닝 기초

학습목표

1. 머신 러닝의 기본 개념을 이해한다.

2. 머신 러닝 서비스를 구현해 본다.

실무에서 자주 활용되는 머신 러닝 알고리즘을 다음과 같이 정리하였습니다:

더보기

 

  1. 선형 회귀 (Linear Regression)
    • 개요: 연속적인 값을 예측하는 데 사용되는 기본적인 회귀 알고리즘입니다.
    • 적용 사례: 주택 가격 예측, 매출 예측 등
    • 예제 코드:
    • python
      from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(X_train, y_train) predictions = model.predict(X_test)
  2. 로지스틱 회귀 (Logistic Regression)
    • 개요: 이진 분류 문제에 주로 사용되며, 확률 기반의 분류를 수행합니다.
    • 적용 사례: 스팸 메일 분류, 질병 유무 판별 등
    • 예제 코드:
    • python
      from sklearn.linear_model import LogisticRegression model = LogisticRegression() model.fit(X_train, y_train) predictions = model.predict(X_test)
  3. 결정 트리 (Decision Tree)
    • 개요: 데이터를 분할하여 예측을 수행하는 트리 기반의 알고리즘입니다.
    • 적용 사례: 고객 세분화, 의사 결정 지원 시스템 등
    • 예제 코드:
    • python
      from sklearn.tree import DecisionTreeClassifier model = DecisionTreeClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  4. 랜덤 포레스트 (Random Forest)
    • 개요: 여러 개의 결정 트리를 앙상블하여 예측 성능을 향상시킨 알고리즘입니다.
    • 적용 사례: 신용 평가, 질병 예측 등
    • 예제 코드:
    • python
      from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  5. 서포트 벡터 머신 (SVM)
    • 개요: 데이터를 분류하는 최적의 경계를 찾아주는 알고리즘입니다.
    • 적용 사례: 이미지 분류, 텍스트 분류 등
    • 예제 코드:
    • python
      from sklearn.svm import SVC model = SVC() model.fit(X_train, y_train) predictions = model.predict(X_test)
  6. K-최근접 이웃 (K-Nearest Neighbors, KNN)
    • 개요: 가장 가까운 K개의 데이터를 기반으로 분류 또는 회귀를 수행합니다.
    • 적용 사례: 추천 시스템, 패턴 인식 등
    • 예제 코드:
    • python
      from sklearn.neighbors import KNeighborsClassifier model = KNeighborsClassifier(n_neighbors=5) model.fit(X_train, y_train) predictions = model.predict(X_test)
  7. 나이브 베이즈 (Naive Bayes)
    • 개요: 확률 기반의 분류 알고리즘으로, 독립 변수 간의 독립성을 가정합니다.
    • 적용 사례: 스팸 필터링, 감정 분석 등
    • 예제 코드:
    • python
      from sklearn.naive_bayes import GaussianNB model = GaussianNB() model.fit(X_train, y_train) predictions = model.predict(X_test)
  8. K-평균 클러스터링 (K-Means Clustering)
    • 개요: 비지도 학습 알고리즘으로, 데이터를 K개의 클러스터로 분할합니다.
    • 적용 사례: 고객 세분화, 이미지 압축 등
    • 예제 코드:
    • python
      복사편집
      from sklearn.cluster import KMeans model = KMeans(n_clusters=3) model.fit(X) labels = model.labels_
  9. 주성분 분석 (PCA)
    • 개요: 고차원 데이터를 저차원으로 축소하여 주요 특징을 추출합니다.
    • 적용 사례: 차원 축소, 데이터 시각화 등
    • 예제 코드:
    • python
      from sklearn.decomposition import PCA pca = PCA(n_components=2) X_reduced = pca.fit_transform(X)
  10. 신경망 (Neural Networks)
    • 개요: 인간의 뇌 구조를 모방한 알고리즘으로, 복잡한 패턴 인식에 강력합니다.
    • 적용 사례: 음성 인식, 이미지 분류 등
    • 예제 코드:
    • python
      from sklearn.neural_network import MLPClassifier model = MLPClassifier(hidden_layer_sizes=(100,)) model.fit(X_train, y_train) predictions = model.predict(X_test)
  11. 그래디언트 부스팅 (Gradient Boosting)
    • 개요: 여러 약한 학습기를 결합하여 강한 예측 모델을 만드는 앙상블 기법입니다.
    • 적용 사례: 신용 점수 예측, 고객 이탈 예측 등
    • 예제 코드:
    • python
      from sklearn.ensemble import GradientBoostingClassifier model = GradientBoostingClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  12. XGBoost
    • 개요: 그래디언트 부스팅의 확장으로, 속도와 성능이 향상된 알고리즘입니다.
    • 적용 사례: 대회용 모델, 대규모 데이터셋 분석 등
    • 예제 코드:
    • python
      import xgboost as xgb model = xgb.XGBClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  13. LightGBM
    • 개요: Microsoft에서 개발한 그래디언트 부스팅 프레임워크로, 대규모 데이터에 적합합니다.
    • 적용 사례: 클릭 예측, 추천 시스템 등
    • 예제 코드:
    • python
      import lightgbm as lgb model = lgb.LGBMClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  14. CatBoost
    • 개요: 범주형 변수 처리에 특화된 그래디언트 부스팅 알고리즘입니다.
    • 적용 사례: 금융 데이터 분석, 추천 시스템 등
    • 예제 코드:
    • python
      from catboost import CatBoostClassifier model = CatBoostClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  15. 의사결정 규칙 (Rule-Based Systems)
    • 개요: 명시적인 규칙을 기반으로 결정을 내리는 시스템입니다.
    • 적용 사례: 전문가 시스템, 진단 시스템 등
    • 예제 코드:
    • python
      def classify(input): if input['feature1'] > threshold: return 'Class A' else: return 'Class B'
  16. 강화 학습 (Reinforcement Learning)
    • 개요: 에이전트가 환경과 상호작용하며 보상을 최대화하는 방향으로 학습합니다.
    • 적용 사례: 게임 AI, 로봇 제어 등
    • 예제 코드:
    • python
      import gym env = gym.make('CartPole-v1') observation = env.reset() for _ in range(1000): action = env.action_space.sample() observation, reward, done,
 

 

728x90

+ Recent posts