kongjs87의 등록된 링크

 kongjs87로 등록된 네이버 블로그 포스트 수는 82건입니다.

파일 다루기 [내부링크]

파일 Handle 처리 방식 file = open(‘data.txt’) content = file.read() file.close() with open(‘data.txt’) as file: content = file.read() ※ with를 사용하면 file handle close에 대해서 신경쓸 필요 없음. 파이썬에서 알아서 close 함 contents = [] file = open(‘data.txt’) for line in file: contents = append(line) file.close contents = [] with open(‘data.txt’) as file: for line in file: contents.append(line)

파이썬(Python) keras & Scikit learn 제공 datasets [내부링크]

[keras] 참고) https://kertas.io/api/datasets 딥러닝 모델을 쉽게 구현하고 학습시킬 수 있도록 도와주는 파이썬 라이브러리 TensorFlow, Theano, CNTK 등의 딥러닝 엔진 위에서 실행 딥러닝 모델 개발을 가능하게 하면서도, 개발 과정에서의 복잡성을 최소화 직관적인 API를 제공하며, 이를 통해 모델 구현 및 학습, 평가 등의 작업을 간단하게 처리할 수 있음 다양한 딥러닝 모델 (예: 컨볼루션 신경망, 순환 신경망, 오토인코더, 강화학습 등)을 쉽게 구현할 수 있도록 다양한 모듈과 함수들을 제공 No 구분 설명 사용법 1 cifar10 소형 컬러 이미지 10개의 클래스를 가진 32x32 크기의 컬러 이미지 데이터셋 50,000개의 32x32 컬러 학습 이미지, 10개 범주의 라벨, 10,000개의 테스트 이미지로 구성된 데이터셋 from keras.datasets import cifar10 (x_train, y_train), (x_test,

파이썬(Python) LIB & 함수 활용 예제 [내부링크]

파이썬 LIB 및 함수들을 어떻게 사용하는지에 대한 단순한 예제임 1. Numpy 2. Pandas 3. Matplotlib import numpy as np # 1차원 배열 생성 a = np.array([1, 2, 3]) print(a) # 출력: [1 2 3] # 2차원 배열 생성 b = np.array([[1, 2], [3, 4], [5, 6]]) print(b) # 출력: # [[1 2] # [3 4] # [5 6]] # 0으로 채워진 배열 생성 c = np.zeros((2, 3)) print(c) # 출력: # [[0. 0. 0.] # [0. 0. 0.]] # 1로 채워진 배열 생성 d = np.ones((3, 2)) print(d) # 출력: # [[1. 1.] # [1. 1.] # [1. 1.]] # 0부터 9까지의 배열 생성 e = np.arange(10) print(e) # 출력: [0 1 2 3 4 5 6 7 8 9] # 2x5 배열 생성 후 형태 변경 f = np

파이썬(Python) LIB & 함수 한글 이름 [내부링크]

LIB & 함수에 대해 읽는 방법은 사람들 별로 조금은 차이가 있는 것도 있지만, 아래와 같이 읽으면 대화 하기에는 문제 없을 것으로 판단 함 영문 이름 한글 이름 BeautifulSoup 뷰티풀 숲 Biopython 바이오파이썬 Bokeh 보케 Dash 대시 Django 쟝고 Flask 플라스크 Gensim 젠심 Keras 케라스 Matplotlib 맷플랏 립 NLTK 엔엘티케이 NumPy 넘파이 Pandas 판다스 Seaborn 시본 Scikit-learn 싸이킷 런 TensorFlow 텐서 플로 OpenCV 오픈 씨브이 PyTorch 파이토치 Pygame 파이게임 PySpark 파이 스파크 Plotly 플로틀리 Requests 리퀘스트 Pillow 필로우 PyQt 파이큐티 PyGTK 파이지티케이 SQLAlchemy SQL알케미 SciPy 사이파이 Scrapy 스크래피 SymPy 심파이 Statsmodels 스탯츠모델즈 Twisted 트위스티드 wxPython 더블유엑스파이썬

파이썬(Python) 지원 LIB & 함수 종류 [내부링크]

No LIB 종류 특징 용도 대표 함수 및 지원 기능 함수 기능 1 Numpy 고성능 수치 계산 LIB (과학 및 수학 연산) 다차원 배열과 행렬 연산에 특화 np.array 배열 생성 및 초기화 np.zeros 0으로 초기화된 배열 생성 np.ones 1로 초기화된 배열 생성 np.arrange 지정한 범위의 값을 가지는 1차원 배열 생성 np.reshape 배열의 크기 및 차원 변경 2 Pandas 데이터 처리 및 분석 LIB 데이터를 다양한 형태로 변환하고 분석 및 처리를 지원 pd.DataFrame 데이터 프레임 생성 pd.Series 시리즈 생성 pd.read_csv CSV 파일에서 데이터 프레임 으로 데이터 불러 오기 pd.concat 데이터 프레임 합치기 pd.merge 데이터 프레임 병합 3 Matplotlib 데이터 시각화 LIB 다양한 종류의 그래프를 생성하고 사용자 정의 가능 plt.plot 선 그래프 그리기 plt.scatter 산점도 그리기 plt.hist 히

레이블 인코딩 vs 데이터 인코딩 [내부링크]

레이블 인코딩 [문자열 -> 숫자형 카테고리] (크기와 관계 없는데 수치화로 오류 발생 가능 : 1,2,3….) from sklearn.preprocessing import LabelEncoder 방법1) df.replace([‘남’,’녀’], [1,2], inplace = True) 데이터프레임 df의 전체 record 값을 검색해서 '남'은 1로, '녀'는 0으로 바꿈 df.replace(['남', '녀'],[0,1], inplace = True)와 같이 inplace = True가 설정이 되어 있어야만 df에 replace 내용 반영 됨 df1 = df.replace(['남', '녀'],[0,1])의 경우에는 df에는 변경이 없지만, df1에는 replace 되어 있음 df['sex']= df['sex'].replace(['남', '녀'],[0,1])인 경우에는 'sex' 열의 데이터만 검색해서 '남'은 1로, '녀'는 0으로 바꿈 ※df.drop(), df.replace()

shape과 reshape에 대한 이해 [내부링크]

import pandas as pd import numpy as np data_set = [[1,2,3], [2,3,4], [3,4,5], [4,5,6]] print(type(data_set)) #출력 <class 'list'> column_name = ['No1', 'No2', 'No3'] index_name = ['Index1', 'Index2', 'Index3', 'Index4'] df = pd.DataFrame(data = data_set, columns = column_name, index = index_name) print(df) print(type(df)) #출력 <class 'pandas.core.frame.DataFrame'> print(df.shape) #출력 (4, 3) data_set_reshape = np.reshape(np.array(data_set), (-1, 6)) # 동일 결과 - data_set_reshape = np.reshape(arr, (2, 6

동일한 난수를 생성하는 방법 [내부링크]

import random import os import numpy as np def seed_everything(seed): random.seed(seed) os.environ['PYTHONHASHSEED'] = str(seed) np.random.seed(seed) seed_everything(42) 난수를 사용하는 경우에는 보통 시드 값을 설정하지 않으면 매번 다른 난수가 생성됨. 이는 프로그램 실행 시마다 결과가 달라질 수 있어 예측이 어려워 프로그램 변경 후 개선 여부를 판단하기 어려움 seed_everything(42)와 같이 시드 값을 고정하면 동일한 시드 값을 사용하는 모든 곳에서 동일한 난수 시퀀스가 생성됨

1개 라인에 1개 행렬 모두 출력 방법 [내부링크]

print(X_train[0]) 했을때 [[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 0 3 18 18 18 126 136 175 26 166 255 247 127 0 0 0 0] [ 0 0 0 0 0 0 0 0 30 36 94 154 170 253 253 253 253 253 225 172 253 242 195 64 0 0 0 0] 와 같이 1개의 행렬이 2줄로 출

all vs any 사용 방법 및 기능 설명 [내부링크]

함수 사용 방법 기능 설명 all all(iterable 객체) iterable 객체의 모든 요소가 True 인지 확인하는 함수 - 모든 요소가 참이면 True 리턴 - 요소중 하나라도 거짓이면 Flase 리턴 any any(iterable 객체) iterable 객체의 요소 중 하나라도 True 인지 확인하는 함수 [ all() 사용 예시 ] # 리스트의 모든 구성 요소 전체가 True인지 확인 my_list = [True, True, True] result = all(my_list) print(result) # [output] True [ any() 사용 예시 ] # 리스트 구성 요소 중의 하나라도 True가 있는지 확인 my_list = [False, True, False] result = any(my_list) print(result) # [output] True

dir vs help 사용 방법 및 기능 설명 [내부링크]

함수 사용 방법 기능 설명 dir() dir(객체) 객체(Class)가 가지고 있는 속성(Attribute)과 메서드(Function)를 나열하는 함수 help() help(객체 또는 함수) 객체(Class)나 함수의 도움말을 제공하는 함수 [ dir() 사용 예시 ] dir(print) # [output] ['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '_

전역 변수 정의 및 활용 방법 [내부링크]

파이썬을 이용해서 프로그램 시에 전역 변수를 사용하는 경우는 많지 않지만, 함수간에 데이터 값 전달 등의 용도로 사용하기 위해서 알아둘 필요가 있음 전역 변수는 변수를 호출해서 사용하기 전에 반드시 초기 값이 할당 되어야 함 (초기 값 할당 없이 사용하는 경우에는 에러 발생함) [외부에 전역 변수를 선언하는 경우] 1. 전역 변수 선언 (예시 : global gbl_var) 2. 전역 변수 초기 값 할당 (예시 : gbl_var = 0) 3. 로컬 함수 내에서 전역 변수를 사용하기 위해서 전역 변수 호출 4. 전역 변수 활용 (변수 값 유지 됨) global gbl_var # 1. 전역 변수 선언 gbl_var = 0 # 2. 전역 변수 초기 값 할당 def gblvar_print(): global gbl_var # 3. 전역 변수 호출 a = 10 b = 20 c = 30 gbl_var = gbl_var + a # 4. 전역 변수 활용 1 return gbl_var print(gb

출력된 그래프의 한글이 깨져 보이는 경우 대응 방법 [내부링크]

[한글이 깨져서 보이는 그래프 이미지] Step 1. 현재 사용 가능한 폰트 출력 후, 사용 가능한 한글 font 확인 ('Gulim' font 사용 결정) import matplotlib.font_manager as fm font_list = [font.name for font in fm.fontManager.ttflist] font_list [output] ['cmsy10', 'DejaVu Sans Mono', 'STIXSizeOneSym', 'STIXNonUnicode', 'cmss10', 'STIXSizeTwoSym', 'STIXSizeFourSym', 'cmmi10', : 중략 : 'LG Smart UI', 'Gulim', = 사용할 font = 'Comic Sans MS', 'Segoe UI Historic', 'Microsoft Yi Baiti', 'Leelawadee UI', 'Sitka Small', 'Arial', 'Malgun Gothic', 'Segoe UI']

10. DATA 변환 저장 방법 [내부링크]

데이터 분석을 위해 target의 데이터를 수치로 변환 한 경우, 분석이 끝난 다음 원래의 데이터 값으로 저장 하고자 하는 경우에 사용 (사용 예제: submission['test'].replace([0, 1],['Female','Male'], inplace =True)) # 라이브러리 import import pandas as pd from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split import numpy as np # 데이터 로드 data = pd.read_csv(r'c:\temp\weight-height.csv') print(data) # 입력 변수와 목표 변수 분리 (목표 변수 값 변환) data['Gender'] = data['Gender'].map({'Male': 1, 'Female': 0}) X = data[['Height', 'Weig

단축키 (Jupyter Notebook) [내부링크]

명령(Command) 단축키 a : above (위에 셀 추가하기) b : bottom (아래 셀 추가하기) d+d : delete + delete (셀 삭제하기) shift + 'l' : line (셀 줄번호 표시하기) shift + 'm' : merger (셀 병합) 편집모드(Edit) 단축키 control + Enter : 셀 실행 shift + Enter : 셀 실행 후 아래 셀로 이동 alt + Enter : 셀 실행 후 아래 셀 삽입하며 이동 shift + Tab : 도움말 Tab : 자동 완성 control + '/' : 코드 주석 처리(해당 코드라인 가장 앞에 #을 넣는 기능) control + shift + '-' : 셀 나누기 / shift + m 병합하기와 반대 기능 셀선택 + m : 코드 → 마크다운 변환 셀선택 + y : 마크다운 → 코드 변환 x : 셀 잘라내기 c : 셀 복사 v : 셀 붙여넣기

상관 관계 (피어슨, 스피어만) [내부링크]

DataFrame.corr()로 특정 상관계수를 지정하지 않으면 default는 피어슨 상관 관계를 말한다 피어슨 상관 계수는 독립 변수와 종속 변수 간의 선형 관계 분석, 스피어만 상관 계수는 독립 변수와 종속 변수 간의 단조적 관계 (선형/비선형 관계 공존)를 분석 하는데 사용한다 [피어슨 상관관계 - 수치적 데이터의 상관관계 분석 ] Pcorr = np.corrcoef(x, y)[0, 1] 상관 계수 (Pcorr) = cov/np.sqrt (x_devsqsum * y_devsqsum) cov = np.sum( (x-np.mean(x)) * (y-np.mean(y))) x_devsqsum = np.sum( (x-np.mean(x))**2 ) y_devsqsum = np.sum( (y-np.mean(y))**2 ) - cov - x와 y의 공분산 (두 변수간의 관계를 나타내는 지표, 양의 상관관계/음의 상관관계) - x_devsqsum : x 변수의 편차 제곱의 합 - x_devs

7. print 함수 활용 [내부링크]

print 함수를 사용하는 방법 중 대표적인 세가지에 대한 설명 입니다 주의) 아래 표에서 { }는 원래 {}임. 즉, {}안에 null 문자가 들어가면 안됨 (시인성을 위해 space를 넣은 것이므로 실제 프로그램 시 에는 space 없이 {} 사용 해야 됨 구분 방법 활용 사례 방법1 { } 없이 수식(or 변수)을 별도로 기록 하는 방식 matrix_A = 'We ' matrix_B = 'are the world' print('matrix_A + matrix_B: ', matrix_A + matrix_B) 출력) 'matrix_A + matrix_B: We are the world 방법2 { } 로 자리 확보 후 .format(수식 or 변수) 으로 채우는 방식 matrix_A = 200 matrix_B = 100 print('matrix_A - matrix_B: { }\n'.format(matrix_A - matrix_B)) 출력) matrix_A - matrix_B: 100

6. 그래프 그리기 [내부링크]

그래프를 그리는 방법은 matplotlib 혹은 seaborn 모듈에서 지원하는 함수를 이용해서 표현하면 됨 1) matplotlib를 이용하는 방법 모듈 import - import matplotlib.pyplot as plt No 항목 상세 내용 출력 그래프 1 plot() 선 그래프 입력한 데이터의 포인트들을 연결하여 직선 그래프를 출력 plt.plot(["Seoul", "Paris", "Tokyo"], [30, 45, 55]) plt.xlabel('City') plt.ylabel('Response') plt.title('Experiment Result') plt.tight_layout() plt.show() 2 Scatter() 산점도 scatter() : 연결되지 않은 포인트들을 출력 plt.scatter([1, 3, 2], [0, -1, 2]) plt.xlabel('x-axis') plt.ylabel('y-axis') plt.title('x-y Graph') plt.sho

5. 데이터 프레임 (DataFrame) 만들기 [내부링크]

데이터를 data frame 현태로 바꾸려는 이유는 데이터를 핸들링 하는데 용이하기 때문임 No 구분 Data Frame 생성 방법 1 list import pandas as pd data_sets = [ ['1000', 'Steve', 90.72], ['1001', 'James', 78.09] df = pd.DataFrame (data=data_sets) df = pd.DataFrame (data=data_sets, columns=['학번', '이름', '점수']) df = pd.DataFrame (data=data_sets, columns=['학번', '이름', '점수'], index=['1st', '2nd', '3rd']) 2 dictionary import pandas as pd data = { '학번' : ['1000', '1001'], '이름' : [ 'Steve', 'James'], '점수' : [90.72, 78.09] } df = pd.DataFrame(data) 3

4. 난수 & 날짜 데이터 핸들링 [내부링크]

난수 발생/임의 데이터 생성 np.random.random((r,c)) r행,c열로 0이상 1미만 수로 채움 np.random.random((r,c)) np.random.rand (d0, d1, …, dn) dn차원의 난수 발생 np.random.randn (d0, d1, …, dn) 표준정규분포 샘플 값 np.random.randint (low[,high, size, dtype)] np.random.random_integers (low[,high, size)] np.random.random_sample([size]) np.random.random([size]) np.random.ranf([size]) np.random.sample([size]) np.random.choice np.random.uniform 균일분포 np.random.normal 정규분포 np.random.binomial 이항분포 np.random.poisson 포아송분포 np.arange(s,e,i) start n

문자열 다루기 [내부링크]

타입 변환 str (xx) int (xx) float (xx) ord (xx) hex (xx) oct (xx) tuple (xx) set (xx)list (xx) dict (xx) 참고. trump_tweets_zip = list(zip(trump_tweets['Date'], trump_tweets['Text'])) ※ zip (a, b) a와 b모두 int형이 될수 없음 int는 숫자로 인덱싱이 불가하기 때문에 123을 인덱싱해서 1, 2, 3과 같이 인덱싱으로 호출 할 수 없음. 그래서 반복 순환이 안되기 때문에 iterration이 안된다고 함 즉, iterrable 데이터는 member를 하나씩 변환(처리) 가능한 데이터를 말함 단어/문장 다루기 string_xx.lower() string_xx.upper() string_xx.startswith(‘s’) ‘ss’가능 string_xx.split() 공백(null) 문자 ( ‘ ‘, ‘\n’, ‘\t’) 기준 분리 string

1. numpy(데이터연산) [내부링크]

특징 - 머신러닝에서 사용되는 수학적 계산을 위해 이용하는 모듈 방대한 양의 데이터를 처리하고, 머신러닝에 사용되는 수식을 계산하기 위해 배열(array)을 사용 a = [1, 2, 3, 4, 5] b = [1, 1, 1, 1, 1] # 1차원 벡터로 배열 아님 a + b = [1, 2, 3, 4, 5, 1, 1, 1, 1, 1] 배열 선언하기 numpy 자료형 선언 a = np.array([0, 1, 2, 3]) ※numpy 모듈 이용 배열로 변환 print(a) -> [0 1 2 3] ※array([0, 1, 2, 3])와 같은 의미 임 arange 함수 arange(start,stop,step) 함수는 start부터 stop전까지 step만큼의 크기로 증가하는 배열을 선언 b = np.arange(1,8,2) # start = 1, stop = 8, step = 2 print(b) –> [1, 3, 5, 7] ※ 인자가 1개인 경우 start = 0, step = 1로 defa

2. pandas (데이터 조작/다루기) [내부링크]

No 구분 상세 내용 1 데이터 타입 df [‘열’] – Series df [ [‘열’] ] – 데이터 프레임 데이터 프레임에서 열간의 연산은 데이터를 시리즈 상태로 변환후 수행 df [‘열c’] = df [‘열a’] + df [‘열b’] = df [‘열a’] + 100 = 300 (df[ [‘열’] ] = 300도 가능) 2 데이터 내용 및 구조 검색 df.head() df.tail() df.info() df.describe() 3 데이터 구성 정보 검색 df.index df.columns df.values 4 결측치 데이터 조회 및 채우기 df.isna().sum() df.fillna(0, inplace = True) -> df.fillna(123) df.dropna(axis = 0/1) # 0이면 행 삭제, 1이면 열 삭제 5 데이터 프레임 만들기 df = pd.DataFrame(data = , columns = , index = ) df = pd.DataFrame(data_s

1. NUMPY (데이터 연산) [내부링크]

특징 - 머신러닝에서 사용되는 수학적 계산을 위해 이용하는 모듈 방대한 양의 데이터를 처리하고, 머신러닝에 사용되는 수식을 계산하기 위해 배열(array)을 사용 a = [1, 2, 3, 4, 5] b = [1, 1, 1, 1, 1] # 1차원 벡터로 배열 아님 a + b = [1, 2, 3, 4, 5, 1, 1, 1, 1, 1] 1-1.배열 선언하기 1) numpy 자료형 선언 a = np.array([0, 1, 2, 3]) ※numpy 모듈 이용 배열로 변환 print(a) -> [0 1 2 3] ※array([0, 1, 2, 3])와 같은 의미 임 2) arange 함수 - arange(start,stop,step) 함수는 start부터 stop전까지 step만큼의 크기로 증가하는 배열을 선언 b = np.arange(1,8,2) # start = 1, stop = 8, step = 2 print(b) –> [1, 3, 5, 7] ※ 인자가 1개인 경우 start = 0, st

06. 아두이노 - Lesson 4. 버튼 PULLUP & LCD [내부링크]

PULLUP은 버튼을 누르지 않으면 ON이고 버튼을 누르면 OFF 상태가 됨 - PULLDOWN 상태는 버튼을 누르면 ON되고 버튼을 누르지 않으면 OFF됨 - 안전 측면에서는 PULLUP을 주로 사용 함 버튼 누르는 것과 연동해서 버튼 누름 상태를 LCD(Liquid Crystal Display)에 표시 함 #include <LiquidCrystal_I2C.h>를 사용하기 위한 lib zip 파일 업로드 첨부파일 Arduino-LiquidCrystal-I2C-library-master.zip 파일 다운로드 "Sketch" 메뉴 → "Include Library" 클릭 → "Add .ZIP Library..." 클릭 후 상기 zip 파일을 다운 받은 위치에서 파일을 선택해줌 (파일 명은 상기 zip 파일 명 참조) [버튼 PULLUP 동작 및 LCD 동작 동영상] [ lcd 기판 연결 방법 ] 아두이노는 A4 pin은 SDA, A5 pin은 SCL핀으로 사용됨 (SDA/SCL 용으로

05. 아두이노 사용 가능 함수, 연산자 등 [내부링크]

본격적으로 아두이노 프로그램을 하기 전에 어떤 함수, 연산자 등을 사용할 수 있는지 간단하게 REVIEW 하고 들어 가는게 좋음 아래 표 [ 아두이노 사용 가능 함수, 연산자 등 ]에 나온 내용은 https://arduinogetstarted.com -> “REFERENCES” 메뉴를 선택한 후 “Language References”에서 원하는 언어를 선택한 후 내용 확인 할 수 있음. [ https://arduinogetstarted.com 에서 제공하는 정보 예 (switch case에 대한 설명) ] ※ https://arduinogetstarted.com site 이외에 아두이노 https://www.arduino.cc/reference/en/ 에 접속해서 상단의 "DOCUMENTATION" 메뉴를 클릭해서 "REFERENXE", "BUILT[ON EXAMPLES" 메뉴를 클릭해서 사용 가능 함수 종류 및 사용 예제에 대한 설명을 참조할 수 있음 [ 아두이노 사용 가능 함수,

04. 아두이노 LESSON 시작 전 알아야할 내용 [내부링크]

Arduino 프로그램 및 테스트를 위해 Arduino Board 구조, Breadboard 구조, LED 등 테스트 부품들의 특성 및 연결 방법에 대해 기본적인 지식이 있어야 함 [Arduino Board 구조] [Breadboard(빵판) 구조] Breadboard 외형 Breadboard 내부 연결 모습 - 하늘색 라인은 파워 버스(Power BUS)이고 분홍색 라인은 그라운드 버스(Ground BUS) 임 [부품 구조 및 연결 방법 검색 1] https://www.eduino.kr/index.html 접속 화면의 검색창에 "아두이노 lcd 16x2"를 타이핑하고 검색 아래 화면 하단의 4개 모듈 중 테스트 하고자 하는 모듈 더블 클릭 아래에 보이는 상세 정보 확인 가능 (출처 : https://www.eduino.kr/index.html) [부품 구조 및 연결 방법 검색 2] https://arduinogetstarted.com/ 접속 후 "TUTORIALS" 메뉴 클릭 [L

03. 아두이노 테스트 프로그램 [내부링크]

LED 램프를 깜빡이는 테스트를 통해 "Verify/Compile"(소스 코드 확인)과 "Upload" (Arduino Board로 프로그램 전송) 수행 [테스트 프로그램 1]. LED 램프 ON/OFF를 반복하는 프로그램 작성 [테스트 프로그램 2]. 프로그램 "Verify/Compile" 실행 - 프로그램 코드 정합성 확인 "Upload" 실행 - Arduino Board로 프로그램 전송→LED ON/OFF 동작

02. 아두이노 프로그램 환경 설정 [내부링크]

테스트 하고자 하는 아두이노 보드에 맞는 프로그램 환경 설정 작업 - 테스트 대상 아두이노 보드 모델 - ARDUINO UNO R3 - [프로그램 환경 설정 1]. 시작 프로그램에서 "Arduino IDE" 클릭해서 실행 [프로그램 환경 설정 2]. Windwos Defender 방화벽에서 앱 기능 차단은 전체 "액세스 허용", "설치" 클릭 [프로그램 환경 설정 3]. "Tools" 메뉴에서 "Board"를 선택해서 테스트용으로 보유중인 Board 선택 "Arduino Uno" 선택 [프로그램 환경 설정 4]. "Arduino Board"를 USB 케이블을 이용해서 PC에 연결 [프로그램 환경 설정 5]. "Tools" 메뉴에서 "Port" 선택 후 "COM3 (Arduino Uno)" 선택 - "COM3 (Arduino Uno)"는 Atduino Board를 PC에 연결하면 자동 인식 됨

01. 아두이노 프로그램 설치 [내부링크]

https://www.arduino.cc에 접속해서 "SOFTWARE"를 클릭해서 프로그램 설치 작업 수행 [프로그램 설치 1]. DOWNLOAD OPTION에서 프로그램을 설치할 PC의 OS 선택 [프로그램 설치 2]. JUST DOWNLOAD 클릭 [프로그램 설치 3]. Privacy Policy and Terms of Service 선택 두번째 option은 필요 여부 판단 후 선택 함 [프로그램 설치 4]. 내 PC > 다운로드 폴더 아래에 "arduino-ide_2.2.1_Windows_64bit.exe" 파일 확인 [프로그램 설치 5]. "arduino-ide_2.2.1_Windows_64bit.exe" 파일 더블 클릭 후 "사용권 계약" 동의 [프로그램 설치 6]. "프로그램 사용자 선택" 후 다음 클릭 [프로그램 설치 7]. "프로그램 설치" 폴더 지정 후 설치 클릭 [프로그램 설치 8]. "프로그램 설치" 대기

02. Python 이용 UR 로봇 원격 제어 [내부링크]

테스트 환경 PC IP : 192.168.219.159 UR10e IP : 192.168.219.149 PC에서 Python 프로그램을 구동해서 UR10e 로봇에 command를 보내서 URe를 직접 제어하는 간단한 테스트 프로그램 임 [ Python 프로그램 ] import socket import struct import time def move (x,y,z,ro,pi,ya): # x,y,z,ro,pi,ya x = str(x/1000.0) y = str(y/1000.0) z = str(z/1000.0) ro = str(ro) pi = str(pi) ya = str(ya) print (x,y,z,ro,pi,ya) mm = "movej(p[-0.30, -0.30, 0.40, 1.30, 0.80, -0.80],a=1.10, v= 0.54)" + "\n" s.send(mm.encode("utf-8")) time.sleep(5) data = s.recv(1024) time.sleep(0.

01. Visual Component_1) UR -> VC 디지털 트윈 [내부링크]

※ 아래 모든 설명에서 Visual Component와 VC를 혼용해서 사용 함 시스템 운영 환경 - 통신 환경 - 일반 가정에서 사용하는 TV/인터네 연결용 무선 장비 사용 - 협동로봇 - 노트북에서 URSim S/W를 이용해서 시뮬레이션 구동 - OLP 프로그램 - 노트북에 Visual Component 프로그램 설치/실행 [통신 환경 설정] Oracle VM에서 URsim의 네트워크 설정을 static으로 하게 되면 자동으로 DHCP 설정으로 변경되서 고정 IP 설정이 되지 않음. 그래서 노트북이 현재 무선 통신 카드를 통해 IP를 받고 있으므로 URsim이 노트북의 무선 통신 카드를 브리지로 해서 IP를 받을 수 있도록 Oracle VM 에서 브리지 설정을 해주어야 함 아래 화면에서 보면 UR10e의 IP 어드레스는 "192.168.219.149" 임 Oracle VM에서 "URsim..." 선택 후 "설정" 메뉴 클릭 "네트워크" 메뉴 클릭 후 "어댑터 1", 다음에 연결

01. Pickit 비전 시스템 - 2) Pick & Place SETUP [내부링크]

[비전 시스템 SETUP 환경 구축] 비전 컨트롤러 후면에 있는 SETUP PC 연결 PORT에 비전 SETUP에 사용할 PC(혹은 노트북)를 이더넷 케이블이 이용해서 연결 함 PC를 비전 컨트롤러에 연결하면 PC는 비전 컨트롤러와 연결된 네트워크 인터페이스 카드(통신 카드, 이하 NIC 혼용)에 IP 어드레스가 "192.168.66.153"로 자동 할당 됨 로봇은 로봇 연결용 이더넷 포트에 연결함 비전 시스템 연결 구성도 [비전 시스템 SETUP 절차] - 1. 카메라 영상 취득 BIN 및 ROI(Region Of Interest) Setup을 위한 카메라 영상 취득 (BIN에 Picking할 부품을 담아 놓고 비전 카메라가 부품을 카메라로 찍을 수 있는 위치로 비전 카메라 이동 후 작업) 비전 카메라를 연결하지 않았을 때 프로그램 화면 [1] "감지"를 클릭해서 비전 카메라 영상 획득 [비전 시스템 SETUP 절차] - 1. SETUP - 1) ROI 상자 생성 [비전 시스템 S

03. UR Cobot(유니버셜 로봇)- VNC 이용 UR 코봇 원격 접속 [내부링크]

이더넷 통신을 통해 VNC (원격 제어 S/W)로 UR Cobot에 접속해서, PC로 티칭 펜던트를 사용하는 것과 동일한 작업을 할 수 있음 작업 순서 1) UR Cobot 콘트롤러에 IP ADDRESS 할당 2) UR Cobot 콘트롤러에 원격 접속 파일 설치 3) PC에서 VNC Viewer를 이용해 원격 접속 PC와 UR Cobot이 이더넷을 통해 연결되어 있고 PC에서 VNC Viewer를 통해 원격으로 티칭 펜던트에서 하는 작업 수행 [ VNC 이용 UR Cobot 원격 접속 ] - 1. UR Cobot 콘트롤러에 IP ADDRESS 할당 우측 상단에 세개의 줄로 되어 있는 아이콘 클릭 하단 메뉴 중에서 "Settings" 메뉴 클릭 좌측 메뉴에서 "System", "Network", "Static Address" 선택 후 우측의 IP address, Subnet mask 등 적색 dot 박스로 되어 있는 부분의 정보를 아래 화면과 같이 입력 함 ※ PC의 네트웍 카드도 U

01. UR Cobot(유니버셜 로봇) 시뮬레이터- 1) 설치 파일 확보 [내부링크]

첫번째 작업 - Oracle VM VirtualBox 설치 두번째 작업 - UR 시뮬레이터 파일 다운로드 ※작업 순서는 의미 없음 [ Oracle VM VirtualBox 설치 ] https://www.virtualbox.org에 접속 및 "Downloads" 메뉴 클릭 (로그인 작업 없음) 윈도우즈 PC에서 시뮬레이터를 실행하는 경우 "Windows hosts" 클릭 [ UR 시뮬레이터 파일 다운로드 ] https://www.universal-robots.com에 접속해서 "Services & Support" 메뉴 클릭 후 아래의 "Downloads" 메뉴 클릭 (로그인 계정이 없으면 미리 만들어 놓는게 좋음) 검색 창에 "sim" 입력 후 enter, 검색된 LIST에서 "E-SERIES, NON-LINUX" 관련 항목 선택 (시뮬레이터 하고자 하는 모델 및 운영 체제에 맞게 선택 해야 됨) "LOGIN" 작업 수행 검색 창에 "sim" 입력 후 enter

01. UR Cobot(유니버셜 로봇) 시뮬레이터- 2) 프로그램 설치 [내부링크]

설치 프로그램 - 1) Oracle VM VirtualBox, 2) UR 시뮬레이터 파일 Orccle VM VirtualBox - VirtualBox-7.0.14-161095-Win.exe UR 시뮬레이터 파일 - URSim_VIRTUAL-5.9.4.1031232.rar [ 시뮬레이터 환경 구축 ] - 1. Oracle VM VirtualBox 프로그램 설치 VirtualBox-7.0.14-161095-Win.exe 더블 클릭해서 실행 "Next", "Yes" 버튼 계속 클릭해서 프로그램 설치 프로그램 정상 등록 여부 확인 후 클릭 프로그램 가동 상태 확인 [ 시뮬레이터 환경 구축 ] - 2. UR 시뮬레이터 파일 설치 URSim_VIRTUAL-5.9.4.1031232.rar 더블 클릭해서 실행 (압축 파일을 풀어서 임의 디렉토리에 보관) 시뮬레이션 파일 저장 폴더 지정 [ 시뮬레이터 환경 구축 ] - 3. UR 시뮬레이터 실행 "머신" 메뉴에서 "+추가" 메뉴 클릭 확장명이 vbo

02. UR Cobot(유니버셜 로봇) - SETUP GUIDE [내부링크]

유니버셜 로봇 아카데미 SITE 주소 : Universal Robots Academy (universal-robots.com ※ 하기 내용 및 이미지 출처 : UR 로봇 아카데미 유니버셜 로봇 아카데미 SITE 접속 후 상단 메뉴에서 "무료 e-러닝" 클릭 후 교육을 원하는 로봇 모델 선택 (e-시리즈 or CB3) 좌측 "E-러닝 과정 보기" 버튼 클릭 e-시리즈 핵심 과정의 "E-러닝 모듈 보기" 클릭하면 아래와 같이 8개 모듈의 교육 내용을 볼 수 있음 ※ 출처 : UR 로봇 아카데미 UR사의 핵심 과정 설명 내용 - 핵심 경로는 UR 로봇을 작동하는 데 필요한 모든 필수 개념, 용어 및 프로그래밍 명령을 설명합니다. 8개의 모듈은 완벽한 픽앤플레이스 애플리케이션을 설정하고 프로그래밍하는 단계별 시뮬레이션입니다. 각 모듈은 간접 실습을 할 수 있는 동영상으로 되어 있어, 교육 내용을 이해 하는데 많은 도움이 됨 [아래 내용은 "e-시리즈 핵심 과정"을 ON-LINE으로 교육 받

01. 산업용 로봇의 협동작업 안전 가이드 주요 내용 [내부링크]

'고용노동부', '산업재해예방 안전보건공단'의 산업용 로봇의 협동작업 안전 가이드 파일 첨부파일 [2022-산업안전보건인증원-415]_산업용로봇의 협동작업 안전 가이드.pdf 파일 다운로드 [ 주요 내용 ] 산업용 로봇(‘이하 로봇’)은 제조·물류 등 산업현장에서 사람을 대신해 위험하거나 단순한 작업을 반복 수행하는 로봇 (협동로봇을 별도의 로봇에서 산업용 로봇으로 통칭 함) 울타리 설치 예외 (´16.4.7.~) : 협동작업 수행하는 로봇이 안전기준에 부합하는 경우 울타리 설치 면제 산업용 로봇의 협동작업 안전 가이드 적용 대상 - 협동작업 형태로 사용되는 산업용 로봇 - 장소적·공정적 특성상 사람과 로봇이 같은 공간에서 작업하는 등 협동작업과 유사한 형태로 사용하는 경우에도 적용 협동 공간에서의 운전(operations in the collaborative workspace) 모드 1) 안전한 감시 정지(SMS: Safe Monitored Stop) 모드 협동 영역에 사람이 없는

00. 컴퓨터 비전(OpenCV) 강의 내용 정리 [내부링크]

[ 1. Image Color 변경 (Image Show기본 구성) ] import cv2 ################################################################## img = cv2.imread('c:/data/image/people6.jpg', 1) 0: gray 1: Current Color ################################################################## cv2.imshow('Imgae Window Form',img) cv2.waitKey(0) cv2.destroyAllWindows() [ 2. Image Resize (이미지 크기 조정) ] import cv2 img = cv2.imread('c:/data/image/people6.jpg', 1) ################################################################## img = c

02. YOLO V8 모델 종류 [내부링크]

No 분류 YOLO V8 모델 종류 관련 추가 모델 1 탐지 yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt SAM - 메타의 세그먼트 애니씽 모델 MobileSAM - 경희대 모바일 세그먼트 애니씽 모델 FastSAM - 중국과학원 YOLO-NAS - YOLO 신경망 아키텍쳐 검색 모델 RT-DETR - 실시간 감지 트랜스포머 모델(바이두) 2 인스턴스 세분화 yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt 3 포즈/키 포인트 yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt 4 방향 탐지 yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt

01. 딥러닝을 이용한 객체 인식 기술 개요 [내부링크]

[ 객체 인식 기술 종류 ] No 한글 영문 주요 내용 1 객체 인식 & 객체 추적 Object Detection Object 감지 (Person, Suitcase, Dog 등) Face Detection Object Tracking 객체 위치 추적 Hand Tracking Face Mesh, Face Landmark Objectron Object의 3D 위치와 크기 추정 Distance between objects 딥러닝으로 인식된 객체간의 P2P 거리, 최소 거리(법선) 등 2 객체 분류 Classification 기 정의되어 있는 Object Class를 기준으로 객체 분류 인식 3 객체 형상화 Instance Segmentation 이미지의 영역을 분할해서 각 Object에 맞게 합쳐 주는 것으로 동일 종류의 object라도 구분해 줌 Sementic Segmentation Object Class 개수에 따라 각 pixel이 어떤 Class에 포함되는지에 대해 각각의 구분 값

03. YOLO V8_1) Object Detection & Tracking [내부링크]

[ 객체 감지 (Object Detection) 및 트레킹(Object Tracking) 예제 ] 모듈 설치 - pip install ultralytics, pip install --no-cache "lapx>=0.5.2 import cv2 from ultralytics import YOLO def ProgramClose(): cap.release() cv2.destroyAllWindows() model = YOLO('yolov8n.pt') VideoPath = 'c:/data/video/CapVideo.mp4' cap = cv2.VideoCapture(VideoPath) while cap.isOpened(): success, frame = cap.read() if success: results = model(frame) annotated_frame = results[0].plot() cv2.imshow('frame', annotated_frame) if cv2.waitKey(25)

01. C# 프로그램 - 바코드 출력 [내부링크]

바코드 중 가장 많이 사용하는 타입인 Code 39, Code 128, QR 코드를 출력하는 프로그램 임 Code 39 및 Code 128은 바코드 font를 사용했고, QR 코드는 font를 사용하면 문자 1개당 1개의 QR 바코드를 출력해서 별도의 패키지를 이용함 바코드 fonts 파일은 실행 파일 위치에 bcdfont 폴더를 만들어 저장되어 있어야 함 (혹은 프로그램에서 fonts 경로를 바꾼 후 다른 곳에 저장해서 참조해도 됨) 프로그램 화면 [바코드 FONTS] 첨부파일 code39.ttf 파일 다운로드 첨부파일 code128.ttf 파일 다운로드 [NuGet 패키지 설치] - QR 바코드 출력을 위해 설치하는 패키지 2개 Net.Codecrete.QrCodeGenerator - QR 코드 생성 패키지 Svg - 이미지 랜더링 LIB 아래 화면에서 보이는 것 처럼 상단의 "프로젝트" 메뉴에서 "NuGet 패키지 관리(N)" 실행 후, Net.Codecrete.QrCodeGe

00. 기본 지식 (웹 크롤링) [내부링크]

웹에서 정보를 요청하는 방법 - Tag name, Class name, Id, xpath를 이용하는 방법 등 다양한 방식이 존재 함 항목 Selenium 3.0 Selenium 4.3.0 이상 tag__name find_element_by_tag_name(“ “) find_element(By.TAG_NAME,” “) Class_name find_element_by_class_name(“ “) find_element(By.CLASS_NAME,” “) Id find_element_by_id(“ “) find_element(By.ID,” “) xpath find_element_by_xpath(“ “) find_element(By.XPATH,” “) name find_element_by_name(“ “) find_element(By.NAME,“ “) link_text find_element_by_link_text(“ “) find_element(By.LINK_TEXT,“ “) partial

02. 주식 정보 조회 (네이버 Pay 증권 이용) [내부링크]

아래 소스 코드를 이용해 프로그램 실행 시 "raise ImportError("lxml not found, please install it") ImportError: lxml not found, please install it" 에러가 발생하면 "pip install lxml"을 실행해서 lxml 모듈을 설치 해야 됨 웹 브라우저는 webdriver.Firefox(), webdriver.Edge(), webdriver.Chrome()을 이용해서 전환 가능 함 import os import pandas as pd # 웹페이지에서 테이블 부분만의 데이터를 읽어올수 있음 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys browser = webdriver.Firefox() # browser = webdriver.Edge(

03. 객체 인식 - 2) 사람 감지 (From. 동영상/이미지) [내부링크]

[동영상에서 사람 객체 감지] import cv2 cap = cv2.VideoCapture(0) hog = cv2.HOGDescriptor() hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) while True: ret, frame = cap.read() if not ret: break boxes, weights = hog.detectMultiScale(frame,winStride=(4, 4), padding=(8, 8), scale=1.05) for (x, y, w, h) in boxes: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) if len(boxes) > 0: cv2.putText(frame, "Person Detected", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) else: cv2.putTe

04. Tesseract OCR 문자 인식 [내부링크]

Tesseract OCR은 기계 학습을 사용하지 않고 rule base 규칙 기반의 OCR 엔진 임 첨부파일 ocrtest2.png 파일 다운로드 import cv2 import pytesseract # Tesseract OCR 경로 설정 pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' # 이미지 파일 경로 image_path = 'c:/data/image/ocrtest2.png' # 이미지 로드 image = cv2.imread(image_path) # 그레이스케일 변환 gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 이미지에서 텍스트 추출 text = pytesseract.image_to_string(gray_image, lang='eng') # 결과 출력 print(text) [출력 결과] The provided code

01. RSS 서비스 이용 날씨 정보 가져오기 [내부링크]

RSS(Really Simple Syndication, Rich Site Summary) 서비스를 이용해서 날씨를 알고자 하는 특정 지역의 날씨 정보 가져오기 RSS란 블로그처럼 컨텐츠 업데이트가 자주 일어나는 웹사이트에서, 업데이트된 정보를 쉽게 구독자들에게 제공하기 위해 XML을 기초로 만들어진 데이터 형식임. RSS서비스를 이용하면 업데이트된 정보를 찾기 위해 홈페이지에 일일이 방문하지 않아도 업데이트 될 때마다 빠르고 편리하게 확인할 수 있음 날씨 정보 RSS 서비스를 이용할 수 있는 SITE = https://www.weather.go.kr/w/pop/rss-guide.do https://www.weather.go.kr/w/pop/rss-guide.do 접속 화면 시도, 구군, 읍면동 선택 후 "1시간별 RSS" 클릭 https://www.weather.go.kr/w/rss/dfs/hr1-forecast.do?zone=4111160000 상기 URL을 복사해서 인터넷 주소창

03. 객체 인식 - 1) 얼굴 감지 (From. 이미지) [내부링크]

OpenCV에서 얼굴 감지를 위해 사용되는 Haar Cascade 분류기 파일(얼굴의 특징을 학습한 모델)을 이용해서 이미지 혹은 비디오에서 얼굴을 감지하는 데 사용 첨부파일 cv2_FaceDetect2.jpg 파일 다운로드 import cv2 import numpy as np # 이미지 파일을 읽어서 img 변수에 저장 img = cv2.imread('C:/data/cv2_FaceDetect2.jpg') cv2.imshow('Original Image', img) # 이미지 크기를 50%로 조정 (fx=0.5, fy=0.5) img = cv2.resize(img, None, fx=4.0, fy=4.0, interpolation=cv2.INTER_LINEAR) # cv2.imshow('Resize Image x 3', img) # 캐스케이드 파일을 불러옴 - OpenCV에서 얼굴 감지를 위해 사용되는 Haar Cascade 분류기 파일 # 이 분류기 파일은 얼굴의 특징을 학습한 모델

02. 피아노 연주 프로그램 (마우스 클릭) [내부링크]

첨부파일 piano.jpg 파일 다운로드 import pygame import mido from time import sleep # 상수를 정의한다 WHITE_KEYS = [48, 50, 52, 53, 55, 57, 59] # 상대적인 C, D, E, F, G, A, B 음계 12, 14, 16, 17, 19, 21, 23 # 건반이 눌렸을 때 상응하는 키 반환 def key_from_pos(pos): x, y = pos if x <= 1 : x = 1 elif x >= 450: x = 450 key_width = 450 / 18 # 각 흰 건반의 폭 octave = int(x // (key_width * 7)) key_number = int(x // key_width) note = WHITE_KEYS[key_number % 7] + (octave * 12) return note # 프로그램을 실행한다 def main(): # Pygame과 MIDI 출력 장치 초기화 pygame.i

01. 피아노 연주 프로그램 (손 움직임) [내부링크]

AI 관련 Startup 업체에서 공간상에서 손가락을 움직여서 피아노 연주할 수 있도록 개발해서 전시해 놓은 것을 보고 한번 만들어 본 것임 (피아노 연주 불편함) 손가락이 피아노 건반위에서 "Bottom_Gap_y = 100" 이상 차이가 나야지만 치는 동작으로 처리 함. 즉, 손가락을 건반 위에 올려 놓는다고 피아노가 쳐지는 것은 아니고 위에서 아래로 Bottom_Gap_y 이상 움직여 주어야만 소리가 남 (흰건반은 연달아 았어서 전체 길이/건반수 하면 되는데 검은 건반은 계산하기 복잡해서 SKIP) 프로그램을 실행해보면 알겠지만, 공간상에서 손가락이 움직이는 것을 인식해서 피아노를 자연스럽게 연주 하기 위해서는 많은 보완이 필요 하다고 생각함 piano.jpg 파일 저장 위치에 따라 경로 정보 수정 필요 (r'C:\data\image\piano.jpg', cv2.IMREAD_COLOR) 첨부파일 piano.jpg 파일 다운로드 import cv2 import mediapipe

02. Event driven 프로그램 방법 (마우스 관련) [내부링크]

import pygame pygame.init() screen = pygame.display.set_mode((800, 600)) rect = pygame.Rect(100, 100, 200, 200) background_color = (126, 126, 255) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() if event.type == pygame.MOUSEBUTTONDOWN: if rect.collidepoint(event.pos): print("Clicked inside the rectangle!") else: print("Clicked outside the rectangle!") screen.fill((background_color)) pygame.draw.rect(screen, (0, 0, 0), rect) pygame.display.update()

52. TTS(Text to Speech) & STT(Speech to Text) [내부링크]

현재 음성 인식율이 좋지 않고 시간 지연 발생이 많아서 프로그램 수정 진행 중임 (엔진 문제는 아닌지 ....) from gtts import gTTS import speech_recognition as sr import pygame import os import psutil intext = 'xxxxx' def release_file_handle(file_path): # 파일이 열려있는 프로세스 목록을 가져옵니다. opened_processes = [] for proc in psutil.process_iter(['pid', 'name']): try: files = proc.open_files() for f in files: if f.path == file_path: opened_processes.append(proc) break except (psutil.AccessDenied, psutil.NoSuchProcess): continue # 열려있는 프로세스의 파일 핸들을 강제로 닫

51. 지정 회차 Lotto 조회 프로그램 [내부링크]

import requests val_input = input('Input round number : ') url = 'https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo={}' url = url.format(val_input) req_result = requests.get(url) json_result = req_result.json() print(json_result) print(type(json_result)) val_return_success = json_result.get('returnValue', None) val_drw_dt = json_result.get('drwNoDate', None) val_no_1 = json_result.get('drwtNo1', None) val_no_2 = json_result.get('drwtNo2', None) val_no_3 = json_result.get('drwtNo3

01. 모니터 수량 및 해상도 정보 알아내기 [내부링크]

import screeninfo monitors = screeninfo.get_monitors() monitor_count = len(monitors) print("현재 연결된 모니터 개수:", monitor_count) for mon_no in range(len(monitors)): SCREEN_WIDTH = monitors[mon_no].width SCREEN_HEIGHT = monitors[mon_no].height print("monitor {}의 해상도: {}x{}".format(mon_no, SCREEN_WIDTH, SCREEN_HEIGHT)) [출력] 현재 연결된 모니터 개수: 3 monitor 0의 해상도: 1366x768 monitor 1의 해상도: 1920x1080 monitor 2의 해상도: 1680x1050

1. TCP/IP 소켓 프로그램 [내부링크]

개발 툴 : PYthon 3.11 통신 대상 : PC ↔ PC, PC ↔ 협동로봇(두산) 통신 방식 : Ethernet TCP/IP 통신 [PC ↔ PC] 노트북에 서버/클라이언트 프로그램 띄워서 개발 했고, 실제 물리적으로 PC를 분리해서 테스트 완료 했음 [PC ↔ PC] - 서버 측 프로그램 import socket import sys import win32event import winerror import win32api # 1. 프로그램 중복 실행 방지 mutex_name = "MyUniqueMutexName" mutex = win32event.CreateMutex(None, 1, mutex_name) if win32api.GetLastError() == winerror.ERROR_ALREADY_EXISTS: print("Another instance of the program is already running. Exiting...") sys.exit() PCTcpSvr_i

GridSearchCV - 모델 예측 성능 향상 [내부링크]

[GridSearchCV를 통해 예측 성능 향상 작업을 하는 단계] 머신러닝을 통해 최고의 예측 성능을 보이는 모델을 학습/예측 등을 통해 찾아낸 후에 GridSearchCV 작업 진행 GridSearchCV는 좀더 예측 성능을 향상 시키기 위해, 최고의 성능을 보이는 모델에서 변경 가능한 파라미터를 GRID와 같은 방식으로 변경해 가면서 찾는 것 임 ※ 현재 최고의 성능을 보이는 모델이 파라미터 변경을 해도 별로 예측 성능 좋와지지 않으면, 다음으로 좋은 성능을 보이는 모델을 이용해 보는 것도 해볼만 함 상기와 같은 작업을 통해 현재 보다 높은 성능의 파라미터를 찾아내 후에는, 찾아낸 파라미터를 모델의 파라미터로 입력한 후에 다시 학습/예측 등의 작업을 통해 예측 결과를 확인 해야 됨 [GridSearchCV의 파라미터 scoring의 의미] model_grid = GridSearchCV(estimator, param_grid=parameters, cv, scoring) - est

Cross Validation - 모델 교차 검증 [내부링크]

동일한 test 데이터를 이용해 모델의 성능을 검증하고 최적화하는 과정을 반복하면, 결국 이 모델은 test 데이터에 과적합(overfitting) 되어 실제 데이터의 예측 성능이 떨어지는 문제 발생 → 교차 검증 (cross validation)을 통해 평균적인 예측 성능 검증 가능 (훈련용과 검증용 데이터를 교차하여 지정하는 방법) K-Fold Cross Validataion - 전체 데이터셋을 N개의 fold로 나누어 매번 다른 fold 1개를 test data로, 나머지 n-1개를 train data로 분할해서 검증 반복 특정 데이터 셋에 대한 과적합을 방지하고 더욱 일반화된 모델 생성 가능하고 데이터 셋 규모가 적을 시 과소적합 방지가 가능 함 단, 반복 검증에 의한 학습 횟수의 증가로 모델 훈련 및 평가 소요 시간 증가 함 [ cross_val_score(estimator, X, y, scoring, CV) ] 교차검증 수행을 편리하게 해주는 함수 - estimator:

주성분(PCA) 분석 - 차원 축소, 다중공선성 예방 [내부링크]

Xtrain(타겟이 빠진 독립 변수들로만 구성되어 있는 데이터)을 가지고 체크 다중공선성 방지 가능 (주성분 분석을 통해 동일/유사한 값을 갖는 feature 제외 가능) 주성분으로 선정할 독립변수의 개수를 지정하는 PCA 함수의 n_components 파라미터는 사람이 지정하는 하이퍼 파라미터로 pca.explained_variance_ratio의 결과를 보고 n_components 수를 조정해 가야 한다 [ PCA(n_components = 10)에서 10의 수 조정] 예) 현재 변수가 총 10개인데 2개로 확 줄이는 것은 문제가 있을 가능성이 높음(물론 더 효과적일 수도 있음) 주성분(PCA) 분석을 통해 독립변수의 수를 조정한 결과가 예측 성능을 높이는데 효과적인지 여부는 주성분으로 선정된 독립 변수를 가지고 처음부터 다시 분석 절차에 따라 분석을 해보면 알 수 있음 신규로 나온 예측 결과 값(예: mean squared error)이 현재보다 작게 나오면 효과가 있다고 볼

다중 공성선 체크 [내부링크]

다중공선성은 일반적으로 회귀 분석 모델에서 발생하는 문제로, 회귀 분석에서 사용된 일부의 feature가 다른 feature와의 상관관계 정도가 너무 높아서 예측 성능에 영향을 주는 문제 예) 독립 변수 4개중 3개가 바깥 온도에 관련된 내용이고 변수 하나만 경제 상태인 경우에 외출 여부를 판단하게 되면 바깥 온도가 적정하면 무조건 외출로 예측하는 문제 발생 가능함 (예로 적절하지 않더라도 의미는 전달 될 것 같네요) Heatmap과 비교해서 보면 제거 해야 할 특성을 선택하는데 도움이 됨 Xtrain을 가지고 체크 (Xtrain - target이 빠진 독립 변수들로만 구성 되어있는 데이터) [다중 공선성 검출 변수 처리 방법] 1) 특성 제거: 다중 공선성이 있는 특성을 제거하는 것이 가장 간단한 방법임 특성의 정보가 손실되므로 주의 필요함 (제거할 특성을 선택하기 위해 변수선택기법을 사용할 수 있음) 2) 특성 결합: 다중 공선성이 있는 특성들을 결합하여 새로운 특성을 생성하는

머신러닝 분석 절차 [내부링크]

[feature 선언 및 운영 요약 ] 머신러닝을 위해서는 해당 프로세스에 맞는 변수를 별도로 운영할 필요가 있기 때문에 조금은 헷갈리는 경우가 발생한다 (아래 내용은 기본적인 절차를 이해할 수 있도록 도식화 한 것임) 구분 train/val/test File Load [데이터 불러오기 및 데이터 확인] - pd.read_csv('filepath+filename'), train.info()/test.info()] train, test 생성 → train = pd.read_csv('./train.csv') test = pd.read_csv('./test.csv') ① train test [탐색적 데이터 분석(EDA)] ②기술 분석 (df.describe() ….. ) 및 시각화 시각화 - 전체 변수 : Pairplot/Heatmap, 연속 변수 : distplot, 범주형 변수 : countplot [데이터 전처리 1] ③불필요 변수 삭제, 결측치/중복값/이상치 처리 예) ID와 같은

머신러닝 분석 관련 일반 정보 [내부링크]

[리스트(list) vs 배열(array) vs 행렬(matrix)] 구분 리스트 (list) 배열 (array) 행렬 (matrix) = 2차원 배열(array) 구조 일렬로 나열된 요소 일렬로 나열된 요소 (1차원, 2차원, 3차원 등 다차원으로 구성) 배열은 다양한 자료 구조에서 사용되며, 요소 간의 순서가 중요한 경우에 유용 2차원으로 구성된 요소 (2차원 배열로 행과 열의 요소들로 구성) 내용 다양한 자료형 가능 ※반드시 독립적으로 요소 관리가 필요 하기 때문에 [n,n] 형태로 접근 불가 [n][n]으로 접근 제어 해야 함 [예문] C = [1, 'a', 3] print(C) #출력 [1, 'a', 3] 동일한 자료형 요소 [데이터 타입 일치] list를 array로 변환하면 동일 tpye으로 타입 변환 됨 int와 text가 섞여 있으면 모두 text 타입으로 변환되고 int만 있으면 그대로 모두 int 유지 혹은 모두 text면 text 유지 ※같은 타입의 형태로 관리

딥러닝으로 생성한 모델의 실제 활용 (관련 TIP 포함) [내부링크]

딥러닝 분석 사례_2. digit-recognizer에서 생성한 "digit_mnist_cnn_model.h5" 모델을 이용해서 손으로 쓴 숫자를 식별하는 프로드램 만드는 방법에 대해 알아 보겠음 (모델은 용량 문제로 첨부 안됨) 손으로 쓴 글씨 이미지 압축 파일 (문서 하단에 있는 손으로 쓴 숫자 이미지 참조) 첨부파일 image.zip 파일 다운로드 [ 식별 하고자 하는 숫자가 있는 이미지를 읽어 숫자를 예측하는 프로그램 ] 숫자 이미지 파일의 숫자 선이 너무 가늘거나 두꺼울 때 thick을 조정한 후 숫자 식별 진행 (모델 생성 시 데이터 전처리를 위해 적용하는 것도 고려 해볼만 함) 첨부파일 HowToUseModel.ipynb 파일 다운로드 - kernel = np.ones((1, 1), np.uint8) # 구조 요소 생성 (모폴로지 연산에 사용할 커널) - gray_image = cv2.dilate(gray_image, kernel, iterations=1) #팽창(Dil

이미지 데이터 증감 방법 [내부링크]

[ ImageDataGenerator 사용 - 별도 파일 생성 방식 ] CNN 기반 숫자 인식 딥러닝 분석 예제(딥러닝 분석 사례_2.digit-recognizer 참고)의 train.csv 파일의 이미지를 증대해서 기존 이미지와 증대한 이미지를 합쳐서 train_merge.csv로 저장 (아래 프로그램 이용 train_merge.csv 생성 후 train.csv를 대체해서 분석 수행) train_merge.csv에 있는 이미지를 이용해서 분석한 결과 정확도 떨어짐 (성능 향상과 무관한 이미지 데이터 증가로 예상됨) - loss: 0.1206 - accuracy: 0.9638 import pandas as pd import numpy as np from tensorflow.keras.preprocessing.image import ImageDataGenerator # CSV 파일 읽기 df = pd.read_csv('C:/data/train.csv') # label 열과 pixel

딥러닝 분석 사례_2.digit-recognizer [내부링크]

프로젝트 파일 첨부 (데이터 파일은 Kaggle에서 다운로드 받으면 됨) 첨부파일 NoRecog90009.ipynb 파일 다운로드 첨부파일 image_increase.jpynb 파일 다운로드 CNN 기반 숫자 인식 딥러닝 분석 예제 (Fine Tunning 전 상태로 accuracy가 높지 않음) 구분 CNN (합성곱 신경망) - Digit Recognizer 분류 분석 모듈(LIB) 로드 import matplotlib.pyplot as plt import numpy as np import pandas as pd import tensorflow as tf from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dropout, Flatten, Dense from tensorflow.keras.models import Sequential from tensorflow.keras.utils import to_categorical from t

딥러닝 분석 사례_1.Fashion MNIST [내부링크]

"Fine Tunning 이전 분석 결과 참조" 관련 code 파일 첨부 첨부파일 Fashion_mnist31.ipynb 파일 다운로드 tf.keras.datasets은 총 7개의 데이터 셋을 제공함 boston_housing (데이터 셋 제공 중단) cifar10 cifar100 fashion_mnist imdb mnist reuters 상기 제공 데이터 셋 중에서 fashion_mnist 데이터 셋을 이용해 이미지를 아래 10가지로 분류하는 딥러닝 분석을 표준 절차에 따라 수행함 1 : T-shirt 2 : Trouser 3 : Pullover 4 : Dress 5 : Coat 6 : Sandal 7 : Shirt 8 : Sneaker 9 : Bag 10 : Ankel boot [Fine Tunning 이전 분석 결과 참조] 구분 CNN (합성곱 신경망) - Fashion mnist 분류 분석 모듈(LIB) 로드 import numpy as np import tensorflow

딥러닝 분석 기본 절차 (CNN, RNN, LSTM, GRU) [내부링크]

[ CNN (Convolutional Neural Network, 합성곱 신경망) ] 이미지 및 음성 인식에서 주로 사용 Input Layer(입력 계층), 여러개의 Hidden Layer(은닉층), Output Layer(출력층)으로 구성되어 있음 수십 또는 수백개의 층을 갖을 수 있음 Hidden Layer(은닉층)은 1) 컨벌루션 계층 (Convolution Layer) - 입력 이미지에서 특징을 부각 시킨 이미지(feature map)를 만들어 냄 2) Relu(Recitified Linear Unit)계층 - 활성화 함수중 하나로 입력 값이 0보다 작을 때는 0을 출력하고, 0 이상일 때는 그대로 출력하는 함수 3) 풀링 계층 (Pooling Layer) - 이미지 왜곡의 영향(Noise)을 축소하는 과정 (출력을 단순화 함) - Max Pooling : 최대 값으로 대체 - Average Pooling : 평균 값으로 대체 • input_shape를 확인할 수 있는 방법은

2D/3D 이미지 영상 분류 및 영상 처리 LIB [내부링크]

아래 내용은 "https://pcl.gitbook.io/tutorial" SITE에서 '3D 영상처리'에 있는 이미지 복사 및 내용들을 요약 정리한 것으로 2D/3D 영상 이미지에 대한 기본 개념을 이해 하는데 도움이 됨 센서에 따른 3D 영상 분류 항목 수동 방식 능동 방식 원리 양안 시차 ToF (Time-of-Flight) 사람의 눈과 같이 두대의 카메라를 이용해 수집하는 방식 적외선이나 초음파, 빛 등을 이용해 거리를 측정하는 방식 탐지 범위 ±10m ±100m 장점 낮은 가격 높은 해상도와 정보 시스템 구성 단순 환경의 영향을 적게 받음 수동 방식에 비해 주변 환경 변화에 강인하고 풍부한 거리 데이터를 수집할 수 있어 로봇이나 자율주행차량과 같은 안정적인 물체 센싱이 필요한 환경에 많이 적용 단점 실외 환경에 부적합 센서 환경에 민감해서 안정적인 데이터 수집 어려움 높은 가격 낮은 해상도와 정보 제품 - MS 키넥트 센서 (적외선 기반 3D 센서) - 카메라 센서로 RGB

딥러닝 이전 이미지 데이터 가공 방법 [내부링크]

[Gray와 RGB 칼라 이미지 구성] - Gray 이미지 - - RGB 칼라 이미지 - [이미지 데이터 가공 방법] 구분 항목 주요 내용 특기 사항 이미지 처리 활용사례 사물 인식 (Object Detection) 자율 주행, 안면 인식, 의료부문 비정상 부위 탐지 센터 스테이지 : OBJECT를 항상 화면 중앙에 나오게 함 이미지 캡셔닝 (Image Captioning) 이미지 분류 결과를 기반으로 이미지를 설명하는 문장 생성 문장 생성은 자연어 처리 이미지 합성 (Deep Fake) 인공지능 기술을 사용하여 사진이나 동영상에서 인물의 얼굴을 합성하거나 변조하는 기술 딥러닝 알고리즘을 이용하여 신경망 모델을 학습시키고, 이를 통해 원본 이미지나 동영상에서 얼굴을 추출하고 다른 이미지나 동영상에 삽입하는 방식으로 작동 화질 개선 (Super Resolution) NVIDIA의 DLSS (Deep Learning Super Resolution) 저해상도 이미지 생성 -> 딥러닝으로

데이터 분석 프레임웍(Framework) [내부링크]

데이터 분석은 크게 네가지 영역으로 구분 할 수 있음 1. 회귀 분석 : Linear Regression, SVR, KNN, Random Forest, XGB 등 2. 분류 분석 : AdaBoost, Decision Tree, Naive Bayes, NLP 등 3. 예측 분석 : ARMA, SARIMAX, VARMAX, LSTM, RNN 등 4. 이상 탐지 : PCA, Clustering, Isolation Forest, Extreme Values 등 데이터의 종류, 사회 환경, 경제 상태 등 다양한 요인들에 대해 거기에 맞는 데이터 분석 방식을 한번에 제시하는 것은 어렵다고 생각 함 분석 모델의 알고리즘 특징 및 Domain Konowledge를 이용해서 데이터 분석에 사용할 분석 기법을 정해서 데이터 분석 및 예측을 해보지만, 아직까지는 최적의 분석 방법을 바로 지정 할 수 없다고 판단 함 (즉, 분석 모델 변경 및 파라미터를 조정 작업을 반복적으로 하면서 최적의 분석 모델을 찾

머신러닝 - 비지도 학습 (Unsupervised Learning) [내부링크]

2. 비지도 학습 (Unsupervised Learning) - 1) 군집 분석 및 차원 축소 클러스터링 (Clustering) ※ 군집분석 차원 축소 (Dimensionality Reduction) K-means Clustering (K 평균 군집화) Gaussian Mixture Model (가우스 혼합 모델) PCA (주성분 분석) (Principle Component Analysis) T-SNE (t-Stochastic Neighborhood Embedding) 각개체의 그룹정보(정답) 없이 유사한특성을 가진 개체끼리 군집화 (1)군집간 유사성 최소화 - 다른 군집 간 데이터 간에는 서로 비슷하지 않게 (2)군집내 유사성 최대화 동일군집 내 데이터 간에는 서로 비슷하게 고차원 데이터의 차원을 축소하여 데이터를 더욱 잘 설명할 수 있도록 함 차원의 저주 : 차원이 높을 수록 학습에 요구되는 데이터의 개수도 증가함 고차원일 때 적은 개수의 데이터로만 차원을 표현하는 경우 과적합(

모델 평가 지표 [내부링크]

1. 회귀 모델 평가 지표 상세 내용 RSS 실제값과 예측값의 단순 오차 제곱 합 값이 작을수록 모델의 성능이 높음 전체 데이터에 대한 실제값과 예측하는 값의 오차 제곱의 합 RSS (Residual Sum of Squares) 단순 오차 제곱 합 np.sum((y_test – y_pred) ** 2) ※SST(Total Sum of Squares) MSE MAE 가장 간단한 평가 방법들로 직관적인 해석이 가능함 그러나 평균을 그대로 사용하기 때문에 입력값의 크기에 의존적임 MSE (Mean Squared Error) 평균 제곱 오차 = SSR/데이터 수 mse = mean_squared_error(y_test – y_pred) 이상치 (Outlier) 즉, 데이터들 중 크게 떨어진 값에 민감함 0에 가까울 수록 높은 성능의 모델이라고 해석할 수 있음 MAE (Mean Absolute Error) 평균 절대 오차 mae = mean_absolute_error(y_test – y_pr

머신러닝 - 지도 학습 (Supervised Learning) [내부링크]

1. 지도 학습 (Supervised Learning) - 1) 회귀 분석 구분 단순 선형 회귀 (Simple Linear Regression) 다중 선형 회귀 (Multiple Linear Regression) 다항 선형 회귀 (Polynomial Linear Regression) 특징 선형관계 독립변수 1개, 종속변수 1개 Y=W0 + W1*X 선형 관계 독립변수 2개 이상,종속변수 1개 Y=w0+w1*x1+w2*x2+ --+ wn*xn 비선형 관계 제곱이상의 독립변수, 종속 1개 원본 : y=w0 + w1*x1 + w2*x**2 (Y=w0 + w1*x1 + w2*x2으로 처리) 가장 기초적이나 여전히 많이사용되는알고리즘 입력값()이 1개인 경우에만 적용이 가능함 입력값과 결과값의 관계를 알아보는 데 용이함 입력값이 결과값에 얼마나 영향을 미치는지 알수 있음 두 변수간의 관계를 직관적으로 해석하고자 하는경우 활용 여러개의 입력값과 결과값 간의 관계 확인 가능. 어떤 입력값이 결과

인공지능 STRUCTURE [내부링크]

인공지능(AI)은 데이터 기반의 학습적 방법과 지식/규칙 기반의 비학습적 방법으로 구분할 수 있다 학습적 방법은 지도학습/비지도학습/강화학습/딥러닝으로 구성된 머신러닝을 말하는 것이고, 비학습적 방법은 예전에 전문가 시스템이라고 했던 인간의 경험/노하우에 의존한 품질전문가시스템, 퍼지 시스템과 같은 지식/규칙 기반의 시스템 들을 말한다

빅데이터 분석 기사 필기 요약 4. 결과 해석 [내부링크]

분석 모형 평가 및 개선 구분 주요 내용 분석 모형 평가 평가 기준 : 일반화 가능성/ 효율성/ 예측과 분류의 정확성 일반화 가능성 효율성 예측과 분류의 정확성 데이터를 확장하여 적용할 수 있는가 (안정적인 결과를 제공하는가) 적은 입력변수가 필요 할수록 효율성이 높은 것으로 평가함 정확성 측면에서 평가함 모형 평가 지표 회귀 모형 (예측 모형) 평가지표 분류 모형 평가지표 제곱합 Sum of Square (실제값/예측값/평균값) SST = SSE + SSR - 전체제곱합(SST): 실젯값-평균값의 차이 - 오차제곱합(SSE): 실젯값-예측값의 차이 - 회귀제곱합(SSR): 예측값-평균값의 차이 혼동 행렬 예측값과 실제값의 일치 빈도를 통해 모델 정확도 평가 결정계수 R² R² = SSR / SST (0~1, and 수정된 결정계수) - 회귀모형이 실젯값을 얼마나 잘 나타내는지에 대한 비율 - 선형회귀의 성능 검증지표 - 독립변수 개수가 많은 경우, 유의하지 않아도 증가함 수정된 결

빅데이터 분석 기사 필기 요약 3. 모델링 [내부링크]

분석 모형 설계 구분 주요 내용 (1) 통계 기반 분석 모형 기술 통계/상관 분석/회귀 분석/분산 분석/주성분 분석/판별 분석 불확실한 상황에서 객관적인 의사 결정을 위해 데이터를 수집.처리.분류.분석.해석하는 일련의 체계 기술 통계 분포 특징 파악 (정리/요약) 평균/분산/빈도 등 (그래프 활용) 상관 분석 2개 이상의 변수간 상호 연관성 정도 단순 – 변수 2개 다중 – 변수 3개 이상 회귀 분석 독립 변수가 종속 변수에 미치는 영향, 인과 관계 단순 : 독립변수 1개, 다중 : 독립변수 2개 이상 분산 분석 2개 이상 집단간 분산 비교 일원/이원 다변량 주성분 분석 일부 주성분으로 원래 변동 설명 분산 패턴 간결하게, 원래 변수 성형 결합 판별 분석 집단 구별하는 판별 규칙/함수 새로운 개체가 어떤 집단인가 (2) 데이터 마이닝 기반 분석 모형 분류/예측/군집화/연관규칙 분석, 대용량 데이터 내의 패턴/관계/규칙 등을 탐색하고, 통계적 기법으로 모델화 하여, 유용한 정보 취출

빅데이터 분석 기사 필기 요약 2. 탐색 [내부링크]

1) 데이터 전처리 구분 주요 내용 데이터 전처리 데이터 정제 (삭제, 대체, 예측 값 삽입으로 대응) : 결측값 처리 -> 이상 값 처리 -> 분석 변수 처리 실제 분석 과정의 70~80%를 수집 및 데이터 전처리 과정에 사용 데이터 오류 발생 원인 결측 값 (누락된 값) 노이즈 (잘못 판단된 값) 이상 값 (범위에서 많이 벗어난 값) 필수적인 데이터를 미입력하는 경우 예) NA, NaN, NULL, inf,999 입력되지 않았는데 입력 되었다고 판단됨 범위에서 많이 벗어난 아주 큰/작은 값 데이터 세분화 대용량 데이터를 처리하거나, 데이터의 시각화 및 분석을 용이하게 하기 위해 사용 1.시간별 : 시간대별로 데이터를 분할하여 분석, 관리, 검색 등 2.지리적 : 지리 정보를 이용하여 데이터를 분할하는 방법 3.기능별 : 데이터의 목적과 기능 별로 나누어 분석하는 방법 4.액션별 : 데이터를 특정 액션 또는 이벤트 단위로 나누는 방법 (추천 구매의 거래 추적) 5.프로세스별 : 비

빅데이터 분석 기사 필기 요약 1. 기획 [내부링크]

1) 빅데이터 이해 구분 주요 내용 DIKW 피라미드 Data → Information → Knowledge → Wisdom Information (정보) – 데이터 간의 패턴을 인식하고 의미를 부여한 정보 Knowledge (지식) – 정보 패턴을 이용하여 예측한 지식 Wisdom(지혜) – 지식을 이용하여 도출한 창의적인 지혜 데이터 바이트 크기 Kilo → Mega→ Giga → Tera → Peta → exa → zetta → yotta 빅데이터의 특징 가트너 3V 5V 7V 규모 (Volume) : 정보량의 기하학적 증가 디양성 (variety) : 정형/비정형/바정형 속도 (Velocity) : 실시간성/가속화 요구 신뢰성 (Veracity) 가치 (Value) 정확성 (Validity) 휘발성 (Volatility) 분석 가치 에스컬레이터 묘사 분석 : 어떤일이 일어났고, 현재 나고 있는지 진단 분석 : 왜 일어 났는지 (분석의 원인을 이해) 예측 분석 : 무슨일이 일어