리눅스 에러01 : no write since last change
·
Error code 모음/3. Linux Errors
vi 편집기의 내용을 변경해준 후에 바로 :q 를 써서 빠져나오려고 해서 발생 이럴 때는 :wq 로 파일 저장 후, 종료를 해주면 된다 ( :wq ) 는 vi 편집기 종료 명령어이다. 하단 링크 참고 http://mwultong.blogspot.com/2006/11/vim-vi-gvim-exit-quit.html VIM (VI, GVIM) 빔 에디터, 종료 명령어, 빠져 나오는 법; Exit Quit mwultong.blogspot.com
프로젝트 주요 개념02 - 애드혹 분석(Ad-hoc)
·
Data Engineering/HDFS
데이터 관련 프로젝트를 진행하다보면 자주 나오는 개념인데.. 그럴때마다 계속 읽었지만 까먹어서 이참에 기록을 해두어야 겠다.. 애드혹이란 위키백과를 기준으로 설명을 우선 하자면, 라틴어로써 뜻은 '이것을 위해', '특별한 목적을 위해서' 라는 의미를 가지고 있다. 1. 특정한 문제나 일을 위해 만들어진 관습적인 해결책 2. 일반화할 수 없는 해결책 3. 어떤 다른 목적에 적응시킬 수 없는 해결책 어도비에서 내린 간단한 정의는 이렇군요. 실시간 방문자 정보를 제한없이 활용하여, 가치가 높은 고객 세그먼트를 식별할 수 있도록 돕기 때문에 데이터를 심층 분석하여 고객을 더 깊고 정확하고 종합적인 방식으로 이해한다. datapine 이라는 외국의 웹사이트에서 내린 정의에 따르면 what Is Ad Hoc Ana..
설치 사전 작업 : open JDK vs oracle JDK
·
Data Engineering/HDFS
클라우데라를 설치하는 데 있어 주의해야될 점이 있는데 바로 JDK를 설치하는 것이다. JDK 의 경우에는 Cloudera 설치를 위해서는 open JDK 를 설치할 것을 권장하고 있는데, 그 이유는 Oracle JDK 를 설치할 경우에는 라이선스 문제로 인해 JDK 사용에 제약이 걸려 Cloudera 를 실행하는 데 문제가 발생할 수 있다. 그것을 미연에 방지하기 위해 open JDK 를 설치할 것을 권장하고 있다. 자세한 사항은 추후 하단 링크 참고 https://jsonobject.tistory.com/395 Java 유료 논쟁, Oracle JDK와 OpenJDK의 차이 정리 Oracle JDK와 OpenJDK Java 애플리케이션을 실행하기 위해서는 JVM이 필요하고 컴파일하기 위해서는 JDK가 ..
프로젝트 주요 개념01 - 맵리듀스(Map reduce)
·
Data Engineering/HDFS
맵 리듀스는 여러 노드에 테스크를 분배하는 방법이다. 각 노드 프로세스 데이터는 가능한 경우, 해당 노드에 저장된다. 맵 리듀스 테스크는 맵(map) 과 리듀스(reduce)로 구성된다. 쉬운 예시로는 Fork-Join 풀인데, 이 풀은 큰 업무를 작은 업무 단위로 쪼개고, 그것을 각기 다른 cpu에서 병렬로 실행한 후 결과를 취합하는 방식이다. 아래 이미지를 통해 fork-join 에 대해서 간략하게 이해할 수 있으니 참고. 맵 리듀스는 위 fork-join 풀처럼 큰 작업들을 fork 로 분할해서 처리한 뒤에 다시 join 해서 결과물을 만드는 방식인 것이다. 하둡은 계산시, 큰 파일을 블럭 단위로 나누고 모든 블럭은 같은 Map 작업을 수행후 다시 Reduce 작업을 수행하게 된다. - Map( 맵..
Chapter 2. 사이킷 런으로 시작하는 머신러닝 스터디 1주차 정리
·
머신러닝, AI
1) 사이킷런 특징 - 사이킷런은 파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 라이브러리 - 파이썬 기반의 머신러닝을 위한 가장 쉽교 효율적인 개발 라이브러리를 제공 - 가장 파이썬 스러운 API 제공 - 기본적으로 아나콘다를 설치할 때 기본적으로 설치됨 2) 첫번째 머신러닝 만들어보기- 붓꽃 품종 예측하기 첫번째로 만들어 볼 붓꽃 데이터 세트, 붓꽃의 품종을 분류(classification) 하는 것. 붓꽃(iris) 데이터는 꽃잎의 길이와 너비, 꽃받침의 길이와 너비 feature 기반으로 꽃의 품종을 예측하기 위한 것 ** 분류(classification) ** 대표적인 지도학습(Supervised Learning) 방법의 하나. ** 지도학습(Supervised Learning) ** 지도학..
가우시안 정규분포
·
머신러닝, AI
머신러닝에서 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업을 피처스케일링 이라고 하는데 대표적인 방법 중 하나가 표준화 / 정규화입니다. 이 표준화는 데이터 피처 각각이 평균이 0이고 분산이 1인 가우시안 정규분포를 가진 값으로 변환하는 것을 의미하는데요. 여기서 가우시안 정규분포는 가우시안 분포는 연속 확률 분포의 하나입니다. 가우시안 분포는 보통 정규분포(standard distribution)로 알려져있습니다. 연속 확률 분포 중 가장 널리 알려진 분포 입니다. 여기서 파생된 중요한 정리가 중심극한 정리.. 동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당히 크다면 정규분포에 가까워진다 라는 정리 중심극한정리 참고 링크 https://bioinformaticsandm..
python error L “TypeError: __str__ returned non-string” but still prints to output?
·
Error code 모음/4. Python errors
__str__ 는 특수 메서드 중 하나입니다. class Element(): def __init__(self, name, symbol, number): self.name = name self.symbol = symbol self.number = number def __str__(self): print("name:{0} symbole:{1} number:{2}".format(self.name, self.symbol, self.number)) 특수 메서드는 print 가 아닌 return 으로 값을 받아줘야 에러없이 출력이 되는데 위 에어는 print( ) 로 값을 받아서 생긴 에러였네요 print( ) --> return 으로 해야합니다. class Element(): def __init__(self, n..
python error : __init__() missing 1 required positional argument:
·
Error code 모음/4. Python errors
아... 너무 쪽팔리는 에러를 만났네여.. 함수를 만들어 놓고도.. 안에 값을 넣지 않아서.. 저런 에러를 만나고 30분을 고민햇다니..!!!으!!! 일단 에러를 낸것이니 기록! class Thing(): def __init__(self, example): self.example = example thin = Thing(#이 부분이 문제였음) 위에 class 를 만들어주고 이를 thin 이라는 객체에 담아주었는데 __init__ 라는 초기화 함수를 써주었는데요. 처음에는 이해가 안되었지만, 이 에러를 풀고 원인을 공부하는 과정에서 이 함수를 왜 쓰는지 짐작을 할 수 있게 된 것 같네요 __init__ 는 초기화 함수라고 해서 객체를 만들때마다 클래스를 초기화해서 새것처럼 사용할 수 있게 만들어줍니다.. ..
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 04
·
데이터 엔지니어링 프로젝트 및 인강/2. RASA chatbot Project
두번째 포스트까지는 기본 챗봇을 만들 수 있는 방법을 알려드렸습니다. 이번 포스트는 두번째 포스트를 기반으로 챗봇을 조금이나마 한단계 업그레이드 할 수 있는 단계로 반드시, 따라하지 않으셔도 됩니다. 챗봇에서는 slot filling(슬롯 채우기)라는 기능이 있습니다. 슬롯 채우기는 몇개의 정보를 알아내어야 챗봇이 답을 줄 수 있을 때, 그 몇개의 정보(slot)들을 다 채워 넣는 것(filling)으로 모든 슬롯이 다 채워질때까지 질문을 하는 것입니다 챗봇은 슬롯에 필요한 정보들을 다 채우면 사용자가 원하는 정보를 출력해 줄수 있습니다. rasa 에는 3가지 정도의 슬롯 필링이 있다고 알고 있는데요 오늘은 그 중 하나인 action.py 파일을 활용하여 슬롯 채우기를 실행 할 수 있는 방법을 하려고 합..
RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 03
·
데이터 엔지니어링 프로젝트 및 인강/2. RASA chatbot Project
저번 포스트까지는 기본 챗봇을 만들 수 있는 방법을 알려드렸습니다. 이번 포스트는 저번 포스트를 기반으로 챗봇을 조금이나마 한단계 업그레이드 할 수 있는 단계로 반드시, 따라하지 않으셔도 됩니다. Response Selector NLU component 는 사람들끼리 간단하게 할 수 있는 일상 대화와 자주 물어보는 간단한 FAQ 관련 메시지들을 처리하기 위해 사용되는 RASA 챗봇의 요소 중 하나인데요. 이 기능을 사용하면 챗봇과 유저간에 일어날 수 있는 수많은일상적인 대화들과 FAQ 들을 처리하기 위한 스토리들과 인텐트들을 다 만들지 않고 간편하게 해결할 수 있어서 괜찮은 기능이라고 생각해요. 유저들은 챗봇에게 이런 저런 질문이나 시시콜콜한 이야기등을 하는데요. 라사 챗봇은 그렇게 들어오는 인텐트들을 ..