코딩두의 포트폴리오

AI? 본문

AI

AI?

코딩두 2024. 7. 4. 00:48

인공지능에 대해 공부해보려고 한다.

 

인공지능(AI)이란?

정의

인공지능은 컴퓨터 시스템이 인간의 지능적인 행동을 모방

-> 학습, 추론, 문제 해결, 언어 이해, 시각적 인식 등을 수행하는 기술

역사

1956년 다트머스 회의에서 처음 제안

이후로는 기계 학습, 자연어 처리, 컴퓨터 비전 등 분야로 발전

 

 

AI의 주요 분야

기계 학습(ML)

데이터를 통해 학습, 예측하는 알고리즘을 개발하는 분야

딥러닝(DL)

인공신경망을 사용하여 복잡한 패턴을 학습하는 기계 학습의 하위 분야

자연어 처리(NLP)

인간의 언어를 이해하고 생성하는 기술

컴퓨터 비전

이미지를 분석, 이해하는 기술

 

 

AI의 활용 사례

 

의료

질병 진단, 약물 개발, 환자 관리 등

자동차

자율 주행, 교통 관리 등

금융

사기 탐지, 알고리즘 트레이딩 등

소비자 서비스

챗봇, 추천 시스템 등

 

 

AI의 작동 원리

데이터

AI 시스템은 대량의 데이터를 학습

알고리즘

데이터로부터 패턴 학습, 예측하는 수학적 모델

컴퓨팅 파워

AI 모델 학습을 위해 고성능 컴퓨터가 필요

 

 

AI 개발을 위한 (기본)도구

프로그래밍 언어

Python, R

라이브러리 및 프레임워크

TensorFlow, PyTorch, Scikit-learn

데이터셋

AI 모델 학습에 사용되는 대규모 데이터셋

 

 

간단한 기계 학습 모델 구축

단계 1~5 / 파이썬

1. 데이터 수집 - Kaggle 데이터셋 다운로드

2. 데이터 전처리 - 결측값 처리, 데이터 정규화

3. 모델 선택 - Scikit-learn 사용 -> 회귀 모델 구축

4. 모델 학습&평가 - 학습 데이터로 모델 훈련, 테스트 데이터로 평가

5. 결과 해석 - 모델의 예측 결과 분석 및 시각화

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 데이터 로드
data = pd.read_csv('data.csv')
X = data[['feature1', 'feature2']]
y = data['target']

# 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 모델 학습
model = LinearRegression()
model.fit(X_train, y_train)

# 예측
predictions = model.predict(X_test)

# 평가
mse = mean_squared_error(y_test, predictions)
print(f'Mean Squared Error: {mse}')

 

 

예측 값 vs 실제 값 비교

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Sample data creation for demonstration (as the original dataset is not provided)
data = pd.DataFrame({
    'feature1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    'feature2': [2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    'target': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
})

# 데이터 분할
X = data[['feature1', 'feature2']]
y = data['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 모델 학습
model = LinearRegression()
model.fit(X_train, y_train)

# 예측
predictions = model.predict(X_test)

# 예측 값과 실제 값 비교
results = pd.DataFrame({'Actual': y_test, 'Predicted': predictions})
results

 

[ 결과 ]

3.944304526105059e-31