반응형

전체 글 226

[Python] Pandas 기초 공부 - Series

머신러닝을 공부하기 전 필요한 Pandas를 공부해보려고 한다... 할게 많구나 ! 하지만 새로운건 항상 흥미롭다 Pandas란? Pandas는 쉽고 직관적인 관계형 또는 분류된 데이터로 작업 할 수 있도록 설계된 빠르고 유연하며 표현이 풍부한 데이터 구조를 제공하는 Python 패키지이다. Pandas의 두 가지 주요 데이터 구조인 Series (1차원) 및 DataFrame (2차원)은 재무, 통계, 사회 과학 및 다양한 엔지니어링 분야에 사용된다. 적합한 데이터 SQL 테이블 또는 Excel 스프레드 시트에서와 같이 이질적으로 유형이 지정된 열이있는 데이블 형식 데이터 정렬되고 정렬되지 않은 시계열 데이터 행 및 열 레이블이 포함 된 임의의 행렬 데이터 다른 형태의 관찰 / 통계 데이터 세트 코드로..

[Tensorflow2.x / Keras] 손글씨 숫자 분류를 위한 신경망 만들기

Keras란? 파이썬 딥러닝 라이브러리 컨볼루션 신경망, 순환 신경망, 그리고 둘의 조합까지 모두 지원 CPU와 GPU 둘다 매끄럽게 실행 측정항목 모델의 성능을 평가하는데 사용되는 측정항목함수는 모델이 컴파일 될때 metrics 매개변수를 통해 공급됨 측정 항목을 평가한 결과는 모델을 학습시키는데 사용되지 않는다. 어느 손실함수나 측정항목 함수로 사용가능 MNIST Dataset을 이용하여 데이터를 가져와서 사용하였다. 손글씨 이미지 여러개와 숫자 여러개를 조합해서 훈련시키는 방식으로, 훈련을 시키고난뒤에 일치하는 숫자를 출력하는 형식 결과 : 이 데이터셋에서 5번의 훈련으로 약 98% 정도의 정확도를 만들어냈다. 어려우니 코드를 자세하게 설명해놔야겠다. 1). 데이터 범위설정 손글씨 숫자 이미지 데이..

[Python] 머신러닝 Scikit-learn(사이킷런) 사용하기

설치 : conda install scikit-learn 으로 Anaconda에서 설치 scikit-learn 이란? scikit-learn이란 python을 대표하는 머신러닝 라이브러리이다. '사이킷런'이라고 부르기도 한다. scikit-learn은 오픈 소스로 공개되어 있으며, 개인, 비즈니스 관계없이 누구나 무료로 사용가능하다. scikit-learn은 현재도 활용하여 개발이 이루어지고 있으며, 인터넷 상에서 정보를 찾기에도 싶다. 많은 머신러닝 알고리즘이 구현되어 있는데, 어떤 알고리즘도 같은 방식으로 이용이 가능하다. 또, 샘플 데이터 셋(토이 데이터 셋)이 부속되어 있으므로, 설치하여 바로 기계 학습을 시험해볼 수 있다. 그러므로 초심자가 기계학습을 배우기 시작할 때 적합한 라이브러리라고 말한..

[Tensorflow2.x] numpy란? -1

Java 개발자였던 내가 Tensorflow를 갑자기 공부하다보니 모든것이 모르는 점 투성이다... 우선 아래 코드를 실행하다가 numpy라는게 나왔는데, 무엇인지 알아보고 가야 속시원하지? v.read_value().numpy() => 1.0 이 나온다. 자 여기서 numpy라는 개념이 나오는데, numpy에 대해 알아보자 Numpy란? Python 패키지 Scientific computing 을 위한 다양한 기능을 제공하는데, Matrix를 쉽게 다룰 수 있도록 도와준다. 연산과 조작등을 맡아서 해주는 기본중에 기본인 아이.. 1). Matrix Create 1-1). [List로 Matrix 생성] 1-2). [특정값으로 Matrix 생성] 1-3). [무작위값으로 Matrix 생성] Numpy R..

[Tensorflow2.x] Tensorflow의 이해

텐서플로우가 어떻게 작동하는지, 어떤 구조를 가지고 있는지 그 Flow에 대해서 알아보도록 하자. 독학은 참 어렵지만 새로운것은 항상 재밌다. 1). 플로우(Flow) : Data Flow Graph Computation 텐서플로우는 병렬처리가 필수인데, 대용량데이터의 연산때문이다. 연산구조이다. 노드를 연결하는 엣지가 데이터를 / 노드는 데이터를 통해 수행하는 연산 역할을 하는 그래프 구조를 의미한다. ** 여기서 노드와 엣지란? 엣지(Edge)는 텐서를 의미하며 엣지의 방향은 텐서의 흐름을 의미하고 노드(Node)는 곱하고, 나누는 등 텐서를 처리하는 연산을 말합니다. 2). 그래프 구조(Graph structure)와 Data Flow 구조 Data Flow를 이해하려면 그래프구조를 알아야한다. 그..

[Tensorflow2.x] Tensorflow란 무엇인가 + 자료형

1). 텐서플로우(TensorFlow)는 텐서(Tensor)와 "흐르다"의 영어표현인 플로우(Flow)를 합친뜻 결국 "텐서라는것이 흐른다" 라는 모습을 브랜딩화 했다고 한다. 2). 텐서(Tensor란)? 공식사이트 정의 : 텐서(tensor)는 벡터와 행렬을 일반화한 것이고 고차원으로 확장 가능. 내부적으로 텐서플로는 기본적으로 제공되는 자료형을 사용해 n-차원 배열로 나타낸다. 간단하게 생각하면 텐서는 텐서플로우가 연산하기 위해 사용하는 자료형, 데이터의 형태이다. 머신러닝에서는 데이터를 N차원의 배열로 구성하는데, 예를 들어 RDB로 비교를 해본다면 각 컬럼의 갯수가 N개이면, 해당 데이터로 1차원 ~ N차원상의 배열까지 만들 수있다. 3). 텐서의 구성요소 텐서 플로우의 자료형인 텐서는 랭크, ..

[Tensorflow2.x] Anaconda Tensorflow(2.3.0) 설치 (Pyhton 3.7)

가상환경 조회 : conda info --env 가상환경 실행 : conda activate (가상환경명) 현재 : Python 3.8.6 설치되어있슴 OS : Window anaconda 설치 후 pip 업그레이드 - pip install --upgrade pip - 오류 Could not install packages due to an EnvironmentError: [WinError 5] 액세스가 거부되었습니다 - 해결방안 관리자 권한이 필요하여 생긴 오류 -> 관리자권한으로 anaconda prompt 실행 가상환경 생성 conda create -n tensorflow(가상환경명임) pip python=3.8(Python 버전임) -> y/n 물음에 y 가상환경 이동 => conda activat..

[Knowledge] Tomcat 배포시 스케쥴러 중복 실행 해결방안

상황 본인은 local - eclipse 환경에서는 데몬을 띄웠을때 문제없이 하나만 실행됬었는데 본 프로젝트를 war로 배포했을때 데몬이 중복되어 2개가 실행되었다. Tomcat이 webapps에서 한번 실행시키고, test프로젝트 war를 unpackaging 할때 한번더 실행한다고한다. 그렇다고 프로젝트가 이중으로 뜨는것은 아니다! 두번 띄워지지만 둘중 하나는 죽게 되지만 스케쥴러는 죽지않는다고 한다..! 조금더 자세히 조사해봐야겠다. 해결 Tomcat에 conf폴더에 보면 server.xml 파일이 있다. server.xml 파일을 열어보면 Host 쪽에 docBase, appBase가 있는것을 볼수 있다. 대략 이런식.. appBase : 여러 webapp들이 들어가는 부모 디렉토리 docBase..

[Node.js] Node.js란? -1

1). Node.js 정의 위키백과 => 더보기 Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다. 2). Nodejs를 어디에쓸까? 간단한 로직. 대용량(동시에 여러 request를 처리) 빠른 응답시간 요구 빠른 개발 요구 비동기방식에 어울리는 서비스(네트워크 스트리밍 서비스, 채팅 서비스 등) 쓰레드 기반 동기방식(Blocking I..

[Javascript] Prototype 이란? 개념 - 수정필요

1). prototype.메소드 __proto__ : 자신을 만들어낸 객체의 원형과 연결된 속성. constructor : 생성자로써, 자신을 만들어낸 객체와 연결된 속성. prototype : 자신을 원형으로 만들어진 새로운 객체들과 연결된 속성. bab의 Prototype은 bab의 생성 당시 정보를 가진 새로운 객체를 복제하여 만들어진다. prototype 프로퍼티와 연결된 Prototype Object 는 bab 함수를 통해 생성되는 객체들의 원형이 되는 것이다. bab.hello는 bab의 원형에 접근하지 않았기 때문에 bab의 hello는 변경되지않은 상태의 원형으로 b1= new bab()에서 복사를 하게 된다. 그래서 => b1.hello(); 는 hello가 나오게 되지만 bab.hell..

반응형