# data[].attributes.body
손글씨체 분류 :

다양한 손 글씨 숫자 데이터셋(훈련 데이터)를 정답과 함께 학습시키면 기계학습은 각 숫자 이미지의 세부 특징을 파악하여 훈련하고, 새로운 손 글씨 이미지(테스트 데이터)가 입력되면 학습된 모델에 대입하여 숫자를 분류할 수 있다.

# data[].attributes.body
전통적인 프로그래밍은 사람이 문제를 해결하기 위한 명확한 규칙과 절차를 직접 코딩해서 입력과 출력에 대한 규칙을 사람이 명확히 정의해서 컴퓨터가 그 규칙을 따라 동작하게 만든다. 반면, 기계학습은 사람이 규칙을 일일이 작성하지 않고, 대신 컴퓨터가 대량의 데이터를 통해 스스로 패턴과 규칙을 학습해서 결과적으로 전통적인 프로그래밍은 명확하고 예측 가능한 결과를 내지만, 복잡하거나 규칙으로 표현하기 어려운 문제에선 한계가 있다. 기계학습은 복잡한 문제나 비정형 데이터 처리에 강점을 가지지만, 많은 데이터와 계산 자원이 필요하며 결과가 항상 명확하거나 완벽하지 않다

# data[].attributes.body
이미 사람이 스팸이라고 표시한 이메일과 정상 메일을 수집함. 이걸 학습용 자료(데이터)라고 함. 컴퓨터는 이를 학습하고 컴퓨터는 메일 내용을 보고 자주 등장하는 단어들을 체크함. “무료”, “클릭”, “당첨” 같은 단어가 자주 나오면 스팸일 가능성이 큼. 반대로 “학교”, “숙제”, “선생님” 같은 단어는 스팸이 아닐 확률이 높음. 컴퓨터에게 "이런 단어들이 있으면 스팸일 가능성이 크다"는 걸 반복적으로 알려줌. 이제 새로 도착한 메일을 보면, 단어들을 확인하고 배운 내용을 바탕으로 스팸과 정상메일을 분류함.

# data[].attributes.body
자율 주행 자동차의 물체 분류:

자율 주행 자동차가 주행 중 주변에 있는 물체를 인식하고 자동차·사람·신호등 등으로 구분한다. 사물 인식·분류 과정이 실시간으로 빠르고 정확하게 이루어져야 하고 단순히 한 장의 이미지를 분석하는 것이 아니라, 다양한 거리·각도·조명 환경에서도 사고가 나지 않게 정확하게 인식할 수 있는 수많은 학습 데이터 기반이 필요하다. 또한, 상황에 따라 순간적인 판단이 요구되므로 고속 연산이 가능한 하드웨어와 실시간 처리 능력도 중요하다.

# data[].attributes.body
고객 세분화 분야에서는 고객 데이터를 분석해 유사한 특성을 가진 그룹으로 나누고, 그 그룹별로 맞춤형 마케팅 전략이나 제품 추천을 제공할 수 있다. 예를 들어, 고객의 구매 기록, 웹사이트 방문 패턴, 지역 정보, 연령 및 선호도 등 다양한 데이터를 기반으로 군집화 알고리즘을 적용하면, 서로 다른 소비자 그룹을 효과적으로 식별할 수 있다. 그 결과 각 군집에 맞는 상품 추천, 할인 전략, 콘텐츠 제공 등을 맞춤형으로 진행하여 고객 만족도와 매출 상승에 기여할 수 있다.

또한, 이러한 고객 세분화는 단순히 데이터 분석에 멈추지 않고, 추천 시스템 내부에서 연관 규칙을 도출하거나, 개별 고객에게 최적의 상품이나 서비스를 제안하는 데도 큰 역할을 한다. 예를 들어, 비슷한 취향의 고객들이 모여있는 그룹을 미리 파악해두면, 그 고객군에서 인기가 높은 상품을 다른 고객에게 추천하는 협업 필터링(collaborative filtering)의 보조 데이터로 사용할 수 있다.

# data[].attributes.body
회귀는 과거의 데이터를 바탕으로 숫자를 예측하는 방법이다. 주식에서는 회귀를 이용해 미래의 주가를 예측할 수 있다. 예를 들어, 애플(Apple)이라는 회사의 주식이 있다고 한다면 우리는 과거의 주가, 거래량, 회사 뉴스, 실적 정보 등을 이용해서 내일의 주가가 얼마일지를 예측할 수 있다.

이렇게 예측하고 싶은 결과가 "숫자"일 때, 이 문제는 회귀 문제라고 한다. 만약 내일의 주가를 190.2달러처럼 하나의 숫자로 예측한다면, 이건 전형적인 회귀 문제다.

회귀를 사용할 때는 보통 다음과 같은 정보(입력 데이터)를 활용한다:

과거 며칠간의 주가

하루 동안의 거래량

회사 관련 뉴스의 긍정/부정 정도

회사 실적 발표 내용 등

이런 데이터들을 바탕으로, 컴퓨터는 어떤 "패턴"을 학습해서 미래의 주가를 예측하려고 한다.

하지만 회귀로 예측한다고 해서 꼭 맞는 건 아니다.
주식 가격은 세계 경제, 정치 뉴스, 예기치 않은 사건 등 수많은 요소에 영향을 받기 때문에 정확하게 예측하기는 매우 어렵다. 그래서 회귀는 참고용 도구로 쓰이며, 실제 투자 결정은 신중하게 해야 한다.

# data[].attributes.body
비지도 학습은 정답이 없는 데이터를 입력하면 컴퓨팅 시스템이 자신만의 방식으로 유사한 속성값을 데이터끼리 모아 그룹을 만든다

서비스 이용자들의 이용 내역 빅데이터를 비지도 학습을 통한 방법으로 데이터를 군집하고 이용자들을 분류하여 고객에게 맞는 서비스를 제공 할 수 있다.

비지도학습 군집의 예시로 신한카드는 2014년 부터 빅데이터를 활용해 고객정보와 카드 결제내역을 군집 분석하여 남녀 고객을 18가지로 분류해 각각의 이용 목적에 맞는 카드를 제공했다

# data[].attributes.body
이메일 스팸 분류:

받은 이메일이 정상 메일인지, 스팸 메일인지 자동으로 분류하는 시스템인데 스팸 메일은 광고, 피싱, 바이러스 등 악성 목적이 많아서 사용자가 불필요한 메일에 시간을 낭비하지 않게 해준다.

간단한 예시코드는

from sklearn.feature_extraction.text import CountVectorizer

from sklearn.naive_bayes import MultinomialNB

from sklearn.model_selection import train_test_split

from sklearn.metrics import classification_report

# 예제 이메일 데이터

emails = [

"Congratulations! You've won a free lottery. Claim now!",

"Hi team, the meeting is scheduled at 3 PM tomorrow.",

"Limited time offer! Buy now and save big.",

"Please review the attached report before the deadline."

]

labels = ['spam', 'ham', 'spam', 'ham']

# 벡터화

vectorizer = CountVectorizer()

X = vectorizer.fit_transform(emails)

# 데이터 분리

X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.25, random_state=42)

# 모델 훈련

model = MultinomialNB()

model.fit(X_train, y_train)

# 예측 및 평가

y_pred = model.predict(X_test)

print(classification_report(y_test, y_pred))

로 하면 된다.

# data[].attributes.body
지도학습은 입력 데이터와 그에 대한 정답(레이블)이 함께 주어져 모델이 입력과 정답 사이의 관계를 학습하여 새로운 입력에 대해 정확한 출력을 예측하도록 만드는 학습 방법이고,

비지도학습은 정답 없이 오직 입력 데이터만으로 데이터 내부의 숨겨진 구조나 패턴, 그룹 등을 찾아내어 데이터의 특징을 이해하거나 분류하는 데 사용하는 학습 방법이다.

지도학습의 예시로는 이메일의 내용과 발신자 정보를 기반으로 해당 이메일이 스팸인지 아닌지를 분류하는 이메일 스팸 분류가 예시입니다.이때, 과거의 이메일 데이터에 '스팸' 또는 '정상'이라는 레이블이 붙어 있어 모델이 학습할 수 있습니다.

비지도 학습의 예시로는 거래 데이터를 분석하여 일반적인 거래 패턴과 다른 이상 거래를 식별하는 이상치 탐지시스템을 예시로 들수있습니다.

# data[].attributes.body
전통적인 프로그래밍은 데이터와 규칙을 입력해 원하는 결과를 출력하지만 기계 학습은 데이터와 원하는 결과를 알려주면 스스로 사고 하기 위한 규칙을 찾아낸다. 즉, 문제해결 방식이 전통적인 프로그래밍이 입력-규칙-출력의 순서라면 기계 학습은 입력-학습 된 모델-출력으로 진행된다. 또한 새로운 상황 대처에서 전통적인 프로그래밍은 새로운 상황이 생기면 코드를 수정해야 하지만 기계 학습은 학습 된 패턴을 기반으로 새로운 상황에서도 어느 정도 대처 할 수 있다. 예를 들어 고양이를 구분한다고 하면 전통적인 프로그래밍은 프로그래머가 특징을 하나하나 정의해서 코드로 짜야 한다. 반면에 기계 학습은 컴퓨터한테 수십 만 장의 고양이 사진과 고양이가 아닌 사진을 보여 주면서 학습을 시키는 것이다.

# data[].attributes.body
전통적인 프로그래밍은 데이터와 규칙을 입력해 원하는 결과를 출력하지만 기계 학습은 데이터와 원하는 결과를 알려주면 스스로 사고 하기 위한 규칙을 찾아낸다. 즉, 문제해결 방식이 전통적인 프로그래밍이 입력-규칙-출력의 순서라면 기계 학습은 입력-학습 된 모델-출력으로 진행된다. 또한 새로운 상황 대처에서 전통적인 프로그래밍은 새로운 상황이 생기면 코드를 수정해야 하지만 기계 학습은 학습 된 패턴을 기반으로 새로운 상황에서도 어느 정도 대처 할 수 있다. 예를 들어 고양이를 구분한다고 하면 전통적인 프로그래밍은 프로그래머가 특징을 하나하나 정의해서 코드로 짜야 한다. 반면에 기계 학습은 컴퓨터한테 수십 만 장의 고양이 사진과 고양이가 아닌 사진을 보여 주면서 학습을 시키는 것이다.

# data[].attributes.body
비지도학습은 정답을 알려 주지 않고 데이터만을 제시해 학습하도록 하는 것이고 정답이 없는 값을 입력하면 유사한 속성값을 갖는 데이터끼리 모아 그룹을 만들어 학습하는 것 이다 그리고 군집모델은 입력받은 데이터 간의 관계를 파악하여 비슷한 것끼리 묶는 것 이고 데이터를 나누기 위한 명확한 기준이 없는 상태에서, 주어진 데이터의 특성을 고려해 유사한 데이터 그룹을 나누는 것이다 예시를 들자면은 A,B,C,D,E,F가 있다면A,B,C,D,E,F, -> 군집모델 -> (A,E,F), (B,C,D)로 나타낼수 있을 것 이다