⌂ 홈 인공지능 데이터 분석 워크북 2장 오렌지3와 구글 코랩 사용 방법
CHAPTER 02

2장 오렌지3와 구글 코랩 사용 방법

1. 오렌지 소개하기

오렌지는 데이터 시각화, 분석 및 기계학습을 위한 오픈 소스 소프트웨어입니다. 이 프로그램은 데이터 마이닝 및 분석 작업을 쉽게 수행하도록 도와주는 도구를 제공합니다. 오렌지는 사용자가 시각적으로 데이터를 탐색하고 변환하며 다양한 기계학습 알고리즘을 적용하여 모델을 구축하는 데 도움이 됩니다.

figure

오렌지의 주요 특징은 다음과 같습니다.

오렌지는 데이터 마이닝을 위한 최고의 도구 중 하나입니다. 사용하기 쉽고 강력한 기능을 제공하여 데이터 마이닝을 처음 접하는 사용자부터 경험이 많은 사용자까지 사용할 수 있습니다.

오렌지의 주요 기능은 다음과 같습니다.

2. 오렌지 프로그램 설치하기

프로그램 다운로드하기

  1. 포털 사이트에 ‘orange3 data mining’를 검색하거나 주소창에 다음 URL 주소를 입력합니다.
    https://orangedatamining.com/
  2. 오렌지 페이지에서 ‘Download Orange’를 선택합니다.

    ch2-1.png

  3. ‘Download Orange’를 클릭해서 운영체제에 해당되는 설치 파일을 다운로드합니다. 여기서는 ‘Orange 3.36.1 for Windows’를 선택했습니다. 오렌지 프로그램은 꾸준히 업그레이드되고 있습니다.

    ch2-2.png

프로그램 설치하기

  1. 다운로드한 설치 파일을 마우스 오른쪽 버튼을 클릭하고 ‘관리자 권한으로 실행’을 선택합니다.
    figure
  2. License Agreement 창에서 ‘I Agree’를 선택하고 Choose Users 창에서 둘 중 하나를 선택하고 ‘Next’를 클릭합니다.
    figure
  3. Choose Components 창에서 Shortcuts에 체크한 후 ‘Next’를 클릭합니다.
    figure
  4. Choose Install Location 창에서 오렌지를 설치할 폴더를 확인한 후 ‘Next’를 클릭합니다.
    figure
  5. Choose Start Menu Folder 창에서 폴더 이름(기본값: Orange)을 지정한 후 Install을 클릭합니다.
    figure
  6. 컴퓨터에 Ananconda가 설치되어 있지 않으면 Miniconda3 설치 여부를 물어봅니다. 설치하려면 ‘Next’를 클릭합니다.

    ch2-3.png

  7. Ananconda 설치가 완료된 후 아래 창이 나오면 ‘Finish’를 선택하고 오렌지 설치를 완료합니다.
    figure

3. 오렌지 프로그램 화면

오렌지 프로그램 기본 화면

오렌지 프로그램 화면은 위젯(widget), 기능별 위젯들로 저장된 카테고리(category), 프로그램을 작성하는 캔버스(canvas)로 구성되어 있습니다.

figure

위젯

위젯은 데이터 시각화, 분석 및 기계학습 작업을 수행하는 작은 모듈 또는 컴포넌트입니다. 각 위젯은 특정한 작업을 수행하기 위한 기능을 가지고 있고, 캔버스 화면으로 드래그 앤 드롭해서 배치합니다.

캔버스에 위젯을 추가하면 다음과 같이 위젯끼리 연결할 수 있도록 점선으로 표시되어 있습니다. 위젯마다 연결될 수 있는 표시 위치가 다르고, 위젯끼리 연결되면 점선이 실선으로 바뀝니다. 이렇게 위젯을 연결하여 워크플로를 구성합니다.

오른쪽에 표시된 위젯은 출력만 지원함왼쪽에 표시된 위젯은 입력만 지원함양쪽에 표시된 위젯은 입출력을 모두 지원함

캔버스에 위젯을 추가하는 방법은 다양합니다.

figure

카테고리

카테고리는 각각의 위젯을 사용하기 쉽게 기능별로 묶어놓은 것으로 오렌지 카테고리는 다음과 같습니다.

기본 카테고리애드온으로 추가한 카테고리

오렌지에는 기본 카테고리 외에 다른 카테고리를 추가할 수 있습니다.

  1. 상단 ‘Options’ 메뉴에서 ‘Add-ons’를 선택합니다.
    figure
  2. 오렌지 프로그램에 카테고리가 추가되면 체크 표시(☑)가 나타나고, 추가되지 않으면 체크 표시가 없습니다. 원하는 카테고리를 체크하고 ‘OK’를 클릭해 설치합니다.
    figure

오렌지의 다양한 위젯

오렌지에는 데이터 시각화, 분석 및 기계학습을 위한 다양한 위젯이 있습니다. 이 책에서 사용되는 위젯을 중심으로 소개하겠습니다. 자세한 내용은 아래 링크에서 확인할 수 있습니다.

https://orangedatamining.com/widget-catalog/
카테고리위젯설명
Data입력 파일에서 속성값 데이터를 읽습니다.
스프레드시트에 속성값 데이터를 표시합니다.
데이터 특성에 대한 기본 통계를 표시합니다. 데이터셋을 구성하는 속성들의 평균, 최소값, 최대값 등을 확인할 수 있습니다.
Transform입력 데이터셋을 부분 데이터로 분할합니다. 보통 훈련 데이터와 테스트 데이터를 분할할 때 사용합니다.
다양한 전처리 방법 중 선택한 방법으로 데이터를 전처리합니다.
데이터 속성 및 데이터 영역(도메인)을 수동으로 구성합니다. 보통 독립변수(특징)와 종속변수(타깃)을 설정할 때 사용합니다.
데이터셋에서 조건을 만족하는 데이터 인스턴스를 선택합니다.
기존 위젯에 적합한 기능이 구현되지 않은 경우 입력에서 파이썬 스크립트를 실행하는 데 사용할 수 있습니다.
선택한 속성값을 기반으로 두 개의 데이터셋을 병합합니다.
데이터셋에 새로운 특징을 추가합니다.
Visualize2차원 공간에 데이터의 분포를 산점도로 시각화합니다.
속성값의 분포를 표시함으로써 이상치 등을 확인할 수 있습니다.
단일 속성에 대한 데이터 값의 분포를 표시합니다.
분류 및 회귀 모델 학습으로 만들어진 트리를 시각화합니다.
데이터 클러스터 내의 일관성을 그래픽으로 표현한 것입니다. 실루엣 플롯은 클러스터 또는 클래스 레이블과 관련하여 각 데이터 인스턴스가 얼마나 중심에 맞춰져 있는지 보여줍니다.
데이터를 선으로 표시하는 시각화 유형입니다.
Modelk-최근접 이웃 알고리즘(kNN: k-Nearest Neighbors Algorithm)은 가장 가까운 N개의 훈련 인스턴스에 따라 예측합니다.
선형회귀는 한 개 이상의 독립 변수(x)와 종속 변수 y의 선형 관계를 식별하는 모델을 구성합니다.
신경망은 선형뿐만 아니라 비선형 모델도 학습할 수 있는 다층 퍼셉트론(MLP) 알고리즘을 사용합니다.
정방향 가지치기 기능을 갖춘 트리 알고리즘입니다.
특징 독립성을 가정하고 베이즈 정리를 기반으로 하는 빠르고 간단한 확률 분류기입니다.
LASSO(L1) 또는 능선(L2) 정규화를 사용한 로지스틱 회귀 분류 알고리즘입니다.
Evaluate데이터에 대한 학습 알고리즘을 테스트합니다. 분류 정확도, 정밀도, 재현율 등 성능 측정값이 포함된 표를 보여줍니다, ROC 분석 또는 혼동 행렬과 같은 다른 위젯에서 사용할 수 있는 평가 결과를 출력합니다.
데이터에 대한 모델의 예측을 표시합니다.
예측 클래스와 실제 클래스 간의 비율을 표시합니다.
Unsupervised모든 쌍별 특성 상관 관계를 계산합니다.
k-평균 클러스터링 알고리즘(k-Means Clustering Algorithm)을 사용하여 항목을 그룹화합니다.
Image Analytics디렉터리에서 이미지를 가져옵니다. 디렉터리를 탐색하고 찾은 이미지당 한 행을 반환합니다
데이터셋과 함께 제공되는 이미지를 표시합니다.
이미지 임베딩은 이미지 데이터의 특징을 추출해 벡터값으로 변환합니다. 이를 위해 임베더로 사전 훈련된 모델을 사용합니다.
Geo위도와 경도 정보를 이용하여 지도에 데이터 포인트를 표시합니다.
Associate데이터셋에서 연관 규칙을 유도합니다. 연관 규칙 찾기에서 최소 지지도, 최소 신뢰도, 최대 규칙 수 등 규칙 유도에 대한 기준을 설정할 수 있습니다.
규칙에 대한 지지도를 기준으로 데이터셋에서 자주 사용되는 항목을 찾습니다.

4. 구글 코랩 소개하기

구글 코랩(Google Colaboratory)은 구글이 제공하는 클라우드 기반 주피터 노트북(Jupyter Notebook) 환경입니다. 즉, 웹 브라우저에서 파이썬 코드를 작성하고 실행할 수 있는 환경입니다. 이 환경은 기계학습, 딥러닝, 데이터 분석 등의 작업을 수행할 때 매우 유용합니다.

구글 코랩의 주요 특징은 다음과 같습니다.

<<화면 이미지 추가 예정>>

5. 구글 코랩 사용하기

구글 코랩 파일 새로 만들기

  1. 크롬에서 구글 계정으로 로그인 후 [구글 드라이브]를 선택합니다. ‘새로 만들기’를 선택하고 ‘더 보기’에서 ‘Google Colaboratory’를 선택하면 새로운 구글 코랩 파일이 생성됩니다.
    figurefigure
  2. 파이썬으로 프로그래밍을 할 수 있는 새 노트 창이 열립니다.
    figure

코랩 작업 창 구성 알아보기

코랩 작업 창은 코드 셀과 텍스트 셀로 구성되어 있습니다.

figure
참고

구글 드라이브에서 구글 코랩(Google Colaboratory) 메뉴가 보이지 않는다면?

구글 드라이브에서 구글 코랩 메뉴가 보이지 않는다면
① ‘새로 만들기’를 클릭하고 ‘더 보기’에서 ‘+연결할 앱 더 보기’ 메뉴를 클릭합니다.
② ‘Google Workspace Marketplace’에서 ‘colab’이라고 검색하면 ‘Colaboratory’가 나옵니다.
③ ‘Colaboratory’를 설치합니다.

코랩 실행하기

코드 셀 실행하기

코드를 작성하고 셀의 왼쪽에 있는 삼각형 버튼을 누르면 해당 코드 셀이 실행되고 결과값이 아래에 출력이 됩니다. 단축키로 [shift]+[enter]를 누르면 셀의 코들 내용을 실행하고 자동으로 다음 코드 셀을 추가해줍니다.

print("Hello World")
figure

텍스트 셀 실행하기

텍스트 셀은 작성한 것이 코드가 아니므로 내용을 작성 후 다른 셀을 클릭하면 입력한 내용이 보이게 됩니다. 수정을 위해서는 해당 셀을 다시 선택하면 내용을 수정할 수 있습니다.

figure

파일 불러오기

기계학습을 위해서는 데이터 파일이 필요하며 코랩에서는 사용자가 직접 데이터를 올릴 수 있는 방법을 지원합니다. 자신의 컴퓨터에 있는 파일을 업로드하여 코랩에서 이를 사용할 수 있습니다.

  1. 컴퓨터에서 파일 직접 올리기

    코드 셀에 다음과 같은 코드를 작성하고 실행합니다. ‘파일 선택’ 버튼을 눌러 원하는 파일을 업로드합니다.

    from google.colab import files
    uploaded = files.upload()
    figure

    파일 업로드가 끝나면 아래와 같이 업로드된 파일의 정보가 간단하게 표시가 됩니다.

    figure

    업로드된 파일은 화면 왼쪽의 파일 버튼을 눌러 파일 목록 형태로 확인할 수 있습니다.

    figure
  2. 구글 드라이브 마운트

    용량이 큰 파일이나, 기존에 자신이 사용하고 있던 드라이브에 파일이 있다면, 이를 쉽게 연결하여 사용할 수 있습니다. 무엇보다도 ①과 같은 방법은 코랩의 실행이 끝나고 일정 시간이 지나면 파일이 사라지게 되므로 파일을 안전하게 사용하고 싶다면 구글 드라이브를 직접 마운트 해서 사용하면 됩니다.

    figurefigure
    figure

6. 파이썬 라이브러리 임포트하기

넘파이

넘파이(NumPy)는 "Numerical Python"의 약자로, 파이썬에서 수치 계산을 위한 핵심 라이브러리입니다. 넘파이는 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공하며, 파이썬 내장 리스트에 비해 연산이 효율적이고 빠릅니다.

넘파이는 데이터 분석, 기계 학습, 과학 계산 등의 다양한 분야에서 중요한 역할을 합니다. 특히, 다른 데이터 과학 라이브러리들의 대부분이 넘파이를 기반으로 동작합니다.

figure
https://numpy.org/

예시 코드 및 결과

import numpy as np
#2D 배열 생성
a = np.array([[1, 2], [4, 5]])
b = np.array([[1, 2], [4, 5]])
# 행렬 곱셈
c = np.dot(a, b)
print(c)
figure

맷플롯립

맷플롯립(Matplotlib)은 파이썬의 주요 데이터 시각화 라이브러리 중 하나입니다. 2D 및 3D 그래프를 생성하여 데이터를 직관적으로 표현할 수 있게 도와줍니다. 맷플롯립은 다양한 플랫폼에서 사용할 수 있으며, 많은 파이썬 라이브러리와 함께 사용됩니다.

figure

예시 코드 및 결과

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)  # 0에서 10까지 100개의 구간으로 나눈 데이터
y = np.sin(x)  # x에 대한 sin 값
plt.plot(x, y)
plt.title("Simple Sin Curve")
plt.xlabel("X Values")
plt.ylabel("Sin(X)")
plt.show()
figure

시본

시본(Seaborn)은 맷플롯립(Matplotlib)을 기반으로 하는 파이썬 데이터 시각화 라이브러리입니다. 시본은 통계 데이터 시각화에 특화되어 있으며, 복잡한 시각화를 더욱 간단하게 만들어주는 기능을 가지고 있습니다.

figure

예시 코드 및 결과

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# 임의의 데이터 생성
data = np.random.rand(10, 10)
# 히트맵 그리기
sns.heatmap(data, cmap='YlGnBu')
# 그래프 표시
plt.show()
figure

판다스

판다스(Pandas)는 파이썬에서 데이터 분석을 위한 핵심 라이브러리입니다. 효율적인 데이터 구조와 분석 도구를 제공하여, 데이터 처리 및 분석 작업을 쉽고 빠르게 만들어줍니다.

figure

예시 코드 및 결과

import pandas as pd
# CSV 파일에서 데이터 불러오기
df = pd.read_csv('energy_efficiency_data.csv')
df.describe()
figure

이러한 라이브러리들은 자주 사용하는 것들이며 코랩에서 기본적으로 제공되고 있습니다.