반응형

Python 6

AutoGIS Excercise-1

안녕하세요 집 DS입니다. 지난 포스팅에서는 Python을 통한 GIS 자동화와 관련된 렉쳐에 대해 소개해 드렸습니다. 이번에는 제가 직접 풀어본 후기를 써보려 합니다. 해당 문제원본은 아래 링크를 통해 확인 가능합니다 https://github.com/Automating-GIS-processes-II-2023/Exercise-1 GitHub - Automating-GIS-processes-II-2023/Exercise-1 Contribute to Automating-GIS-processes-II-2023/Exercise-1 development by creating an account on GitHub. github.com 문제 1a) x,y좌표를 받아 Point로 만들기 1주 차 문제를 보면 shap..

Ch-2 Multi-armed bandit Q(a) 파이썬 코드

Dec 10, 2023, 7 min read 오케이. 내 스타일대로 해보겠다. 강화학습 해보자 Table of Contents 1 K-armed Bandit problem 2 추정해보기 : Action-value Methods 3 다음 action을 선택해보자 K-armed Bandit problem § k-armed bandit problem은 슬롯 머신을 떠올리면 된다. 근데 팔이 k 개인 슬롯머신이다. 우리가 슬롯머신을 당기는 이유는 간단하다. 잭팟이 터졌으면 좋겠으면 하는 마음이다. 그걸 수학적으로는 기대 보상을 최대화한다라고 말한다. 기대보상이란 최초에 알 수 있는 것이 아닌 실험을 통해 도출해야 한다. 슬롯 머신의 팔이 k 개라 할때 각 팔을 당길때 기대보상은 각기 다르다. 이 각 기대보상을 ..

[파이썬] 디버깅을 위한 마음자세와 두가지 프로그램 테스트 방법

프로그래밍을 하며 가장 어려운 것은 내가 만든 코드가 수많은 시나리오에서 작동하도록 하는 것이다. 오늘은 수업을 들으며 이런 디버깅을 조금더 쉽게 할 수 있게 하는 자세와 두가지 프로그램 테스트 방법에 대해 정리하려고 한다. 버그의 기원 누가 용어를 먼저 사용했는지는 어디서나 큰 논쟁거리다. 컴퓨터 업계에서도 버그라는 말은 초창기부터 쓰여왔다고는 한다. 다만 그것을 공식적으로 기록한 것은 위의 사례라고 한다. 컴퓨터 과학자인 "Grace hopper"(이름이 꼭 메뚜기같다) 동료와 컴퓨터 에러를 확인하려다가, 컴퓨터를 열어보니 실제 벌레가 있었다고 한다. 그래서 이를 노트에 기록하였고, 최초로 버그가 발견된 사례라고 일컫어진다. 디버깅을 위한 프로그래밍 : Defensive Programming 오늘도 ..

기타/공부노트 2021.01.30

[Python] HTML 테이블 파이썬 List로 만들기(feat. 파일첨부)

개요 파이썬으로 웹페이지에서 Table을 추출 후, List로 만들어 보겠습니다. 단순히 Row by Row의 경우가 아닌 셀이 합쳐진 경우에 대해서 다뤄보겠습니다. 문제정의 테이블은 기본적으로 n*m의 체계를 가지고 있습니다. 하지만 사용자 편의에 따라 몇몇 셀들이 합쳐지기도 합니다. 이런 테이블의 경우 단순히 한줄씩 루프를 돌리는 방식으로 해결되지 않습니다. 대표적인 형태는 아래와 같습니다. 거의 반나절을 해결해보려 했지만 결국 제 손에선 실패했습니다. 하지만 인터넷은 훌륭합니다. 코드가 있어서 첨부합니다. def table_to_2d(table_tag): rowspans = [] # track pending rowspans rows = table_tag.find_all('tr') # first sc..

기타/공부노트 2021.01.21

[Python / 알고리즘] 재귀용법 이해와 쓰임.

*전체적인 내용은 6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016 에 기반했습니다. 개요 오늘은 하노이의 탑 알고리즘에 대해 이해해보기 위해 재귀 용법(Recursive Function) 을 먼저 알아보겠습니다. 재귀용법이란? 알고리즘적으론, 문제에 대한 해법을 나눠서 해결, 줄여서 해결(divide-and-conquer,decrease-and-conquer)하는 방법. 문제를 단순화해서 해결한다. 의미론적(Sementically)으론 자기 자신을 다시 호출하는 기능. 프로그래밍에 있어, 무한정 재귀를 돌리는게 목적이 아님 1개 또는 여러개의 base case에 대해 해결할 수 있어야 한다. base case를 해결할..

기타/공부노트 2021.01.19

[Python / request] request를 이용해 csv파일 가져오기.

개요 오늘은 request를 이용해서 csv 파일을 가져와보도록 하겠습니다. 발단 : wget 사용불가 요즘 배우는 머신러닝 예제 중, wget을 이용해서 csv를 다운로드 받아야 하는 부분이 있었습니다. 그래서 우선 wget을 이용해 보기로 했습니다. wget 기본구문 import wget print('Beginning file download with wget module') url = 'http://i3.ytimg.com/vi/J---aiyznGQ/mqdefault.jpg' wget.download(url, 'cat4.jpg') wget은 매우 간단했습니다. 위의 스크린 캡쳐는 왜 !wget인지 잘 모르겠지만. 순서는 다음과 같이 볼 수 있습니다. 라이브러리를 임포트한다 인터넷상의 url을 지정한다..

기타/공부노트 2021.01.18
반응형