ic


[책소개]딥러닝 부트캠프 with 케라스 - GPU 실습 환경 준비부터 이미지 분류, 물체 검출, 강화 학습까지

저와 절친이신 분이 최근에 책을 한 권 번역하고 드디어 출간을 앞에 두고 있어 소개합니다. 최근 IT도서분야에서 기계학습과 딥러닝의 바람이 불어 관련 책이 홍수처럼 쏟아져 나오고 있는 데, 얼마 전에 나온 제 책과 마찬가지로 이번 책, 딥러닝 부트캠프 with 케라스도 그런 붐속에 태어난 책입니다.

일본에 대한 별 관심이 없어 일본어를 해볼까 하는 생각조차 못했는데, 전해 들은 바에 따르면 일본서적의 특징은 지식의 깊이는 조금 부족해도 특유의 꼼꼼한 기록하는 습관덕에 내용이 잘 정리되어 있다고 하네요. 암튼 이번 책은 번역보다는 실습을 돌리느라 더 공을 들였다고 합니다.


책은 아직 정식출간전이지만 그 내용은 알라딘, 예스24 또는 길벗 홈페이지에서 볼 수 있답니다.

[URL 알라딘] 딥러닝 부트캠프 with 케라스
[URL 예스24] 딥러닝 부트캠프 with 케라스

참고로 제가 번역한 책 좀 잘 부탁드립니다. 굽신굽신~프로그래머를 위한 베이지안 with 파이썬

뭐? python을 엑셀에서 사용할 수 있다고?

낡은 vba를 python으로 바꿔야 한다는  생각이 저만의 것은 아닌 가 봅니다. 많은 사람들이 이걸 원하고 있는 데, 마이크로소프트 엑셀유저 포럼에서도 오래 전부터  vba가 아닌 R이나 python 등 다른 프로그래밍 언어도 지원해달라는 요청이 많았다고 합니다.

그런데 12월 14일 엑셀팀의 선임 프로그램매니저가 이런 요청에 답하며 설문조사를 올렸습니다. 저를 포함한 많은 사람들이 마이크로소프트가 이런 요구를 알고 있었으며 슬슬 기계학습과 딥러닝을 위해 본격적으로 파이썬을 MS오피스 호스팅언어로의 채택을 고려하려는 신호가 아닌가 하는 예상을 하고 있습니다.

관심있으신 분들은 아래의 설문조사에 참여하시면 됩니다. 이제 엑셀에서 파이썬으로 기계학습이나 딥러닝을 할 수 있을 지도 모르겠습니다.  vba를 버리진 않겠지만 python을 동시에 호스팅언어로 채택하는 날을 기다려 보겠습니다.

근데 이 포스팅의 카테고리를 '파이썬'으로 해야 하나, 'vba'로 해야 하나 고민이네요.

잘 가거라 vba야. 그동안 수고했다 ㅎㅎ


[설문조사 링크]:https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7tUuWqOwSJFpBE5ZLhdkgtUMkhZWlkxRjhDRklXSjNTVkNSWkE2WlNQMS4u


[출처 쓰레드]:https://excel.uservoice.com/forums/304921-excel-for-windows-desktop-application/suggestions/10549005-python-as-an-excel-scripting-language






파이썬 흉내내는 VBA의 팁질 EXCEL/VBA

바로 아래 포스팅에서 파이썬으로 여러 개의 조건을 검사하는 축약코드를 보였는데, VBA도 이를 흉내내는 것이 가능하다. 하지만 'MS 이넘들아~ 내가 이렇게 추접스럽게 따라해야 겠냐~, 너거 오피스에 VBA 말고 파이썬 넣어주면 안되겠냐~' 라는 투정을 해본다.

VBA : 어때? 이 정도면 훌륭하지 않냐? ㅋㅋㅋ
(이를 지켜보던)
Python: ('지랄을 한다~') ㅎㅎ 잘 하는 데...짝짝짝
    Dim x As Long, y As Long, z As Long

x = 0
y = 1
z = 0

#1
Select Case True
Case x: Debug.Print "Passed at x"
Case y: Debug.Print "Passed at y"
Case z: Debug.Print "Passed at z"
End Select

#1-1
Select Case True
Case x, y, z: Debug.Print "Passed"
End Select

#2
If x Or y Or z Then Debug.Print "Passed"

#3
Debug.Print IIf(x Or y Or x, "Passed", "Not Passed")

#4
Debug.Print Switch(x, "Passed at x", y, "Passed at y", z, "Passed at z")

Python tips PYTHON

1) 두 개의 사전을 합치기(파이썬3.5이상)
>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 3, 'c': 4}
>>> z = {**x, **y}
>>> z
{'c': 4, 'a': 1, 'b': 3}
# 파이썬2에서는 다음과 같이 한다.
>>> z = dict(x, **y)
>>> z
{'a': 1, 'c': 4, 'b': 3}

2) 한번에 여러 개의 조건 검사하기
x, y, z = 0, 1, 0
if x == 1 or y == 1 or z == 1:
print('passed')
if 1 in (x, y, z):
print('passed')

# 다음은 불린(boolean)인지 아닌지만 따지는 경우이다.
if x or y or z:
print('passed')
if any((x, y, z)):
print('passed')


[홍보]비트코인 알고리즘 트레이딩 시스템 구축하기


요즘 가장 뜨거운 이슈가 가상화폐입니다. 오늘 뉴스에는 가상화폐 투자로 인한 피해자들 인터뷰 등이 나오더군요. 정부에서 전방위로 가상화폐를 압박하는 모양새입니다. 사실 투기와 투자의 차이점은 기초자산의 유무입니다. 복권, 경마 등과 주식, 선물을 잘 생각해보시면 되죠.

가상화폐가 한 두 나라가 막는다고 사라질 것 같지는 않습니다. 기존 화폐와 가상화폐가 양립하는 때가 오지 않을 까 싶습니다. 가상화폐의 현재 문제점은 결제수단으로 아직 부족하다는 점인데, 24/7으로 거래된다는 점에서는 외환시장과 비슷합니다. 비트코인 다음은 알고리즘 트레이딩 시스템 구축하기 세미나 소개입니다.


    비트코인 알고리즘 트레이딩 시스템 구축하기
  • 기간: 2017년 12월 23일 ~ 12월 24일, 2일간 총 12시간

  • 일정: 토요일,일요일 오후 1시 ~ 오후 7시 (6시간씩 총 12시간)

  • 준비물: 개인 노트북(Windows OS, Mac OS)

  • 장소: 위키아카데미 제1강의실

  • 수강인원: 20명

  • 수강료: 48만원,조기등록할인 40만원(12월 18일까지)

  • [URL]위키아카데미



두 개의 실수 비교 PYTHON

두 개의 실수가 거의 같은 지 비교하는 방법. 그냥 = 쓰면 되는 건 아니죠.




R을 위한 검색엔진? GNU R

프로그래밍을 하다가 막히는 경우 사둔 책 대신 구글 검색을 해서 해결하는 경우가 다반사이다.  
R과 관련된 구글의 검색결과를 정리하여 제공해주는 사이트가 있다. rseek.org는 R을 위한 검색엔진은 아니지만 R을 다루는 분이라면 쏠쏠한 사이트인듯하다.





0에 가장 가까운 숫자를 찾아내는 방법 PYTHON


매크로 시트를 참조해야 합니다. 삽질

보통때와 마찬가지로 프로시저 만들고 워크시트에 버튼 추가하고 앞서 만든 매크로를 연결하려고 하니 '매크로 시트를 참조해야 합니다' 라는 에러가 난다.
'흠~ 처음보는 에러인데, 이건 뭐지...'

구글 검색을 해보니 한글검색결과에는 이런 내용이 딱 하나 나오는데, 그닥 도움이 되지는 않는다. 시트를 참조한다는 말에서 힌트를 얻기는 했는 데, 프로시저 이름과 워크시트의 이름이 같아서 생기는 오류이다. 둘중 한 넘이 개명을 해야 하는데, 프로시저의 이름을 바꾸어서 해결하면 된다.

배열=배열+배열 EXCEL/VBA

지난 번에 배열을 다룬 적이 있는데(어쩌다보니 배열 성애자가 된 느낌!), 배열의 차원을 줄이거나 배열의 일부를 떼어 내는 걸 ([참고]배열 슬라이싱#1, 배열 슬라이싱#2, 배열 슬라이싱#3, 뱁새가 황새 따라하다 가랑이 찢어지다)다루었다. 그런데 다시 합치는 짓을 하고 싶었다. 단순히 합치는 걸 하라면 Array()함수를 사용하면 될 듯하다.
    Dim s As Worksheet
Dim arr1(), arr2

Set s = Sheet1

arr1 = s.Range("A1:A15").Value
arr1 = WorksheetFunction.Transpose(arr1)

arr2 = s.[B1:B15]
arr2 = WorksheetFunction.Transpose(arr2)

Dim arr3

arr3 = Array(arr1, arr2)
arr3 = WorksheetFunction.Transpose(arr3)
1차원 배열 두 개를 Array()로 합치고 다시 방향을 바꿔 버리면(Transpose) 만족스럽게도 1차원 배열이 생긴다. 이건 AA건전지를 병렬로 연결한 모양새이다.

그런데 1차원 배열을 나란히 세워 두는 것 말고 길게 AA건전지 두 개를 직렬로 연결하듯이 하려면? 완벽한 방법은 아니지만 다음과 같은 방법이 있다.
arr3 = Split(Join(arr1, ",") & "," & Join(arr2, ","), ",")

Join()함수로 배열의 각 항목으로 연결하고([참고]VBA 배열에 대한 몇 가지 (3)) 다시 Split()함수로 합치는 것이다. 단점은 Split(), Join()함수가 문자열 함수라서 결과값을 문자로 돌려준다는 점이다. 에이, 다시 숫자로 변환하면 되지 뭐~

1 2 3 4 5 6 7 8 9 10 다음