2026/07 19

[골목길 탐지하기]_종로구 정사영상 기준 실험 (1/2)

공공데이터로 제공받을 수 있는 도로가 실제 이동 가능한 모든 길을 포함하는 것은 아니다. 도로를 어느 기준까지 포함하여 작도할지는 각 자료가 제작된 목적에 따라 달라질 수도 있기 때문이다. 특히 주거지 내부의 골목길과 생활도로는 기존 도로 자료에서 누락되는 경우가 있으며, 이로 인해 보행 경로 분석에서는 실제보다 긴 우회 경로가 계산될 수 있다. 따라서 국토정보플랫폼에서 제공하는 정사영상을, 데이터는 표준노드링크의 링크 데이터를 사용하여 서울특별시 내 보행 가능한 골목길을 탐지하는 과제를 진행해보기로 했다. 우선 분석 전에 서울특별시 전체의 정사영상은 약 110~120GB 정도로 예상되는 상황이었으며, 무작정 분석을 돌리기엔 학원 PC의 사양이 문제가 되었다. 또한 시간적인 문제도 매우 큰 관계로 학..

#5 5일차_감성 분석 (나이브베이즈, RNN)

01 쇼핑몰 후기 감성 분석 02 참고 : 최신 java 설치 03 쇼핑몰 후기 감성 분석 - 모델링(나이브베이즈) 04 쇼핑몰 후기 감성 분석 - 모델링(RNN) 01 쇼핑몰 후기 감성 분석 # 1. 데이터 로딩 import pandas as pd df = pd.read_table('shopping_ratings_total.txt', names = ['ratings', 'reviews']) df.head() df.shape # (200000, 2) # 2. target 변수 변환(평점 -> 이진데이터) import numpy as np np.unique(df['ratings']) # [1, 2, 4, 5] df[..

[골목길 탐지하기]_위성영상 탐색과 활용 : Sentinel-2

중간 프로젝트를 진행하며 도로망 데이터에 대한 아쉬움을 매우 크게 느끼고 있었다. 이륜차 사고다발지역에 대한 특성이다보니 일반적인 승용차와 다르게 협소한 골목, 공원 내, 아파트 혹은 대학교 부지 내 도로 등에서도 사고가 발생한 지점이 있었는데, 분석에 활용한 도로망 데이터는 대부분 교통 네트워크 구축 혹은 행정 목적에 맞춰 제작된 데이터였기에 원하는 해상도에서의 생활도로까지는 충분히 표현되지 않은 경우가 존재했다. 서울시 내 생활도로, 좁은 골목까지 모두 도로를 새로 작도하기에는 시간적인 여유가 없었기에 도로 데이터가 존재하지 않는 사고 포인트도 10개 미만이었기에 인접 격자에서의 최솟값들을 가져와 대치하는 것으로 마무리했었던 기억이 있다. 그러던 중 딥러닝 수업을 들으며 문득 새로운 가능성이 떠..

#4 4일차_CNN, 얼굴 사진 분류하기, 쇼핑몰 후기 감성 분석

01 CNN (컨볼루션 신경망) 02 유명인사의 얼굴 데이터 분류하기 -01 이미지 분석 - pca + knn (얼굴 데이터) -02 이미지 분석 - ANN(3차원 학습 불가) (얼굴 데이터) -03 이미지 분석 - CNN(3차원 학습 가능) (얼굴 데이터) -04 새로운 얼굴 사진 예측 함수 -05 사전학습 모델(EfficientNetB0) + 얼굴 데이터 전이학습 03 쇼핑몰 후기 감성 분석01 CNN (컨볼루션 신경망) - 심층신경망에 컨볼루션 망을 추가한 신경망 - 컨볼루션 망에서 이미지의 정교한 특징을 추출 - 마스크(=필터=윈도우)에 의해서 재추출된 신호 - hyper parameter : 컨볼루션층 수, 마스크 수, 마스크 사이즈 - parameter : 각 마스크 가중치 - 풀링(=서브샘..

#3 3일차_ANN(다중 분류), 이미지 분석(PCA+KNN, ANN, CNN)

01 ANN - 다중 분류02 PCA + KNN 모델을 이용한 이미지 분석03 ANN 모델을 사용한 이미지 분석04 CNN 모델을 사용한 이미지 분석01 ann - 다중 분류1) 데이터 로딩from sklearn.datasets import load_iris iris = load_iris() X, y = iris.data, iris.target X.shape y.shape X.shapeOut[4]: (150, 4)y.shapeOut[5]: (150,)# target 변수 원핫 인코딩 (3개 클래스) import pandas as pd y3 = pd.get_dummies(y, prefix='Y').astype('int')pd.get_dummies(y, prefix='Y').astype('int')Out[..

#2 2일차_인공신경망의 구조, 실습

01 인공신경망의 구조 -01 layer + node -02 활성함수 -03 오차함수 -04 최적화 -05 오차 역전파 -06 기울기 소실 02 실습 -01 ANN - 회귀 -02 ANN 튜닝 - batch_size, early stopping (적절한 epoch 결정) -03 ANN - 분류01 인공신경망의 구조 -01 layer + node 입력층 - 중간층 - 출력층 구조로 구성되어 있으며 각 층마다 여러 노드(뉴런)이 존재한다. > 입력층 : 데이터를 전달받는 층 (노드의 수 = 피쳐 수)> 출력층 : 최종 예측 결과를 리턴하는 층 (노드의 수 = 출력 결과) * 회귀분석 : 1개의 target * 분류분석 : ex) 사망여부 -> 1개 target -> 원핫인코딩 (클래스별로 서로 다른..

#1 1일차_tensorflow, keras 설치하기

01 설치하기01 설치하기pip install tensorflow * 만약 ImportError : DLL load failed while importing _pywrap_profiler 이라는 오류가 발생한 경우, 애플리케이션 제어 정책에서 파일을 차단하는 경우이다. 윈도우 검색 > 스마트 앱 컨트롤 > 끄기로 설정이 가능하다. tensor라는 언어를 베이스로 개발된 keras라는 언어도 있다.이 역시 설치를 진행한다.pip install keras spyder 등에서 import tensorflow as tf, import keras 등을 통해 설치가 제대로 진행되었는지 확인할 수 있다.

#7 7일차_반복 제어문, sed, awk

01 반복 제어문 02 sed - 비대화형 편집기 03 awk - 자료처리 -01 산술연산 -02 grep -03 cut01 반복 제어문 - continue 특정 조건을 만나면 반복문 스킵, 다음 대상부터 다시 반복문을 수행한다. ex)for fname in $(ls *.sh)do if [ $fname = "a.sh" ] then exit 1 echo "$fname"doneecho "프로그램 종료"exit 0 vi 22_continue.sh#!/bin/shfor i in $(seq 1 10)do echo "숫자 출력" if [ $i -eq 5 ] then continue fi echo "현재번호 : $i"doneitwill@itwill-VMware-Virtual-Platform:..

#6 6일차_파이썬 스크립트 실행, 로깅 처리, 정렬, 특수기호 정의

01 리눅스에서 파이썬 스크립트 실행하기 02 로깅 처리 -01 echo -02 tee 03 정렬 -01 ls 결과 정렬 -02 sort 04 특수기호 정의 -01 * 과 ? -02 [] -03 ~와 - -04 ''와 "" -05 ; 과 | 05 논리 연산자 -01 and 연산자 -02 or 연산자 -03 not 연산자01 리눅스에서 파이썬 스크립트 실행하기os 프롬포트에서 파이썬 프롬프트로 명령어 전달을 수행할 수 있다. (입력 프롬프트를 사용) ipython 사용 시 쓸데없는 헤더들을 출력하고 싶지 않다면 --no-banner와 함께 python prompt로 진입하는 것도 좋다.(base) itwill@ubuntu:~$ cds(base) itwill@ubuntu:~/linux_ex/ch9$ ipy..

#5 5일차_반복문, 산술연산, 색 변수 설정, 지역변수/전역변수, 아나콘다 설치

01 반복문 -01 for문 -02 while문 02 산술연산 -01 expr -02 bc 03 색 변수 설정 04 지역변수와 전역변수 -01 지역변수 -02 전역변수 05 아나콘다 설치01 반복문 -01 for문** 문법for 반복변수 in 대상do 명령어done # 파일명과 파일 사이즈 출력하기vi 9_for1.sh#!/bin/sh# 디렉토리를 입력받고 디렉토리 하위 *.sh 파일들에 대해# 파일명과 파일 사이즈를 출력echo "디렉토리 경로를 입력하세요(절대경로) : \c"read dirif [ ! -d $dir ]then exit 1fiflist=$(ls $dir/*.sh)for fname in $flistdo fsize=$(ls -l $fname | cut -d" " -f5) echo "..