목록IT (205)
꿈 많은 사람의 이야기
해당 코드는 https://github.com/lsjsj92 에 있습니다. 참고하시고 스타도 주시면 감사하겠습니다 :) 파이썬으로 케라스(keras)와 사이킷런(scikit-learn)을 독학한지 어느덧 1달이 조금 넘었습니다. 그 동안 카테고리 분류도 해보고, 감정 분석도 해보고(실패....) 여러가지 해보면서 일반적인 머신러닝 알고리즘(서포트 벡터 머신(SVM), 랜덤 포레스트(random forest) 등)이 아닌 케라스로 다층 퍼셉트론(MLP)을 구현해서 해봤습니다. 뭐 아직 다음 단계로 넘어갈 실력은 아니었지만 일단은 여러가지 경험을 쌓고자 이젠 컨볼루션 뉴런 네트워크(convolutional neural networks)를 해보려고 합니다. 컨볼루션 신경망이라고도 불리는데요 케라스에선 컨볼루션..
상당히 피곤하다대전에서 방금 올라와서 그런지 더 피곤하다딥러닝에 입문한지 1달. 나의 짧은 지식과 독학으로는 힘든 부분이 너무 많았다. 머신러닝과 딥러닝이 어려울줄은 알았지만 이정도 일줄은 몰랐다그러다가 도저히 몰라서 이분 저분 이메일을 드리면서 물어봤었다. 우연치 않게 간 이메일 1개가인스페이스 김태영 기술이사님이셨다.페이스북 케라스 코리아를 운영중이시고 이 대회를 주최하신 분이셨다. 김태영씨의 조언으로 컨퍼런스에 참가하게 되었고너무 유익했다 많은 분들이 세미나를 해주셨다.이미지 인식의 CNN부터 Generative Adversarial Network(GAN), 강화학습(RI)까지 다양한 주제로 진행되었다. 장소는 과학기술연합대학원대학교(UST)에서 진행되었다인스페이스와 케라스 코리아, 대딥사, 한국원..
머신러닝과 딥러닝을 혼자서 독학하면서 여러가지 상황에 맞닥드리게 되고 있다. 어찌저찌 해결을 해나가고 있지만, 어제 같은 경우는 도저히 혼자서 해결이 안되었다. val_loss가 나아지지 않았고, val_acc 즉 정확도가 높아지지 않은 문제가 있었다. 과적합(오버피팅, overfitting) 문제도 아니었다. 케라스에서는 오버피팅을 방지할 수 있다. Dropout이나 callbacks 라이브러리의 modelcheckpoint, earlystopping을 통해서 overfitting을 방지하기 때문이다. 근데 참 웃긴게 아래와 같은 상황이었다. 나는 데이터 셋을 2개로 나누어서 진행했다. 데이터가 너무 커서 경량화를 하나 추가했다. 예를 들어, 기존 데이터가 1G 짜리라면 경량화는 200MB짜리이다. 데..
이전 글인http://lsjsj92.tistory.com/350 에서 파이썬으로 머신러닝을 진행해 뉴스 카테고리 분석을 만들었다.keras(케라스)와 scikit learn(사이킷런)을 이용해서 만든 카테고리 분류이다 이번에는 이 데이터를 이용해서파이썬에서 wordcloud(워드클라우드)로 시각화를 진행할 것이다.또한, gensim의 word2vec를 이용해서 연관 단어를 추출해보려고 한다 일단 워드클라우드가 되려면 mapreduce(맵리듀스)가 되어 있어야 한다.즉, word count(워드 카운트)가 되어 있어야 한다. 그리고 그 워드 카운트는 가장 많이 카운트 된 단어가 위쪽으로 나오게 할 것이다.이 과정에선 hadoop hdfs와 spark를 이용할 것이다하둡은 2.7 버전, 스파크는 2.0.3 ..
최근 네이버 뉴스 기사를 토대로 카테고리를 분류하는 머신러닝을 진행해봤다먼저 정치, 경제, 사회, IT 등을 파이썬으로 크롤링했다 데이터는 아래와 같이 모아졌다 각 카테고리별 폴더로 데이터를 떨궜다.문화, 경제, it, 오피니언, 정치, 사회 총 6개의 카테고리를 크롤링했으며 위와 같이 엑셀파일에 날짜, 제목, 내용을 긁어왔다. 이제 이 내용들을 전처리 작업 및 형태소 분석을 해야했다.왜냐하면 content에 보면 위와 같이 flash 오류를 우회하기 위한 함수 추가 등 이런 문구가 있다.또한, 특수 문자를 제거할 것이었고, 숫자, 영어도 제거하려고 했다.왜냐하면 한글을 기준으로 하려고 했기 때문이다 형태소 분석기는 은전한닢(mecab)으로 진행했다.은전한닢은 한글 형태소 분석기로 정말 좋다 konlpy..
요즘 머신러닝과 딥러닝을 공부하고 있습니다 블로그에 다 정리해서 올리고 싶은데 처음부터.. 너무 복잡하고 올리는데 시간적 소모가 커서 감히 엄두가 안나네요 ㅠㅠ그래서 중간중간 만든 결과를 올려보려고 합니다저는 주로 케라스(keras)와 사이킷런(scikit learn)으로 공부하고 있습니다사이킷런이야 파이썬에서 머신러닝으로 유명한 라이브러리죠. 케라스는 딥러닝에서 많이 쓰는데요 (물론 머신러닝도 가능합니다.)텐서플로우(tensorflow)보단 사용법도 쉽고 접근성이 좋아서 케라스를 선택해서 공부하고 있습니다.(물론 keras 내부는 tensorflow가 동작됩니다.) 아무튼 저는 그 동안 공부한 것으로 비만도 측정을 해봤습니다!1. 데이터 수집2. 훈련3. 모델 생성4. 모델을 이용한 예측 크게 4가지 ..
지난번 포스팅까지 진행하여서 스프링 프레임워크의 구조와 설치 등을 알아보았습니다. 이번 포스팅은 스프링 예제를 진행하는데 앞서 구조 변경과 컨트롤러(controller)를 이용해 다른 jsp를 불러오는 테스트를 진행하려고 합니다. 먼저 views에 있는 home.jsp로 바로 들어오지 못하게 막겠습니다.처음 접근할 때에 index.jsp로 들어오도록 설정하겠습니다. 위와 같이 WEB-INF밑에 index.jsp 파일을 만들어주세요~그리고 파일 내용은 위 처럼 그냥 막 써주세요~ index.jsp라는 것만 표시나게요! 다음은 web.xml을 수정해줘야합니다. web.xml은 브라우저에서 요청이 들어오면 그 요청을 수행합니다.이건 한 번에 좀 정리좀 해야겠네요아무튼 welcome-file-list 태그를 통..
지난 포스팅에는 스프링(spring) 프레임워크 설치와 프로젝트 생성에 대해서 알아보았습니다.이번 포스팅에서는 스프링 프레임워크를 간단히 살펴보겠습니다. 1. 스프링은 관점지향 프로그래밍(AOP, Aspect Oriented Programming)을 지원합니다.트랜잭션, 로깅 등 여러 모듈 등을 비즈니스 로직과 분리될 수 있도록 도와줍니다. 2. 의존성 주입(DI, Dependency Injection)을 지원합니다. 객체간의 의존관계를 관리합니다.어떤 객체가 필요로 하는 객체를 외부에 있는 다른 곳에서 필요로 하는 객체를 받습니다. 3. 제어 반전(IoC, Inversion of Controller)을 지원합니다. 객체의 생성부터 생명주기 관리까지 객체의 제어권이 프레임워크에 있습니다. 4. POJO(..
Java 언어로 JSP 등의 프로그램도 가능하지만요즘은 JSP를 넘어서 스프링 프레임워크를 많이 쓰고 있습니다.이번 포스팅은 윈도우 이클립스 환경에서 스프링 프레임워크를 설치하는 과정에 대해 포스팅합니다. 사실 개인적으론 스프링 프레임워크를 독학하고 있습니다.그래서 설치과정이 좀 어려웠어요뭐 설치 이 설치, 버전마다 다르고 완전 복잡하더라구요그 과정을 제 개인적인 경험으로 총괄 정리했습니다. 먼저 프레임워크라는 것은 무엇일까요?프레임워크(framework)는 뼈대입니다. 기본 구조를 말합니다.소프트웨어에서 프레임워크라는 것은 소프트웨어 제작을 편리하게 할 수 있도록 미리 구조를 이루는인터페이스, 클래스 등을 제작하여 모아둔 것입니다.웹 애플리케이션에서는 주로 스프링 프레임워크라는 것을 자주 사용합니다. ..
파이썬 PyQt5를 하다보면 뭔가 밋밋할 때가 있습니다 디자인이 있으면 좋겠다~ 라는 생각이 들죠 혹시나해서 찾아봤는데 역시 있더라구요근데.. 뭐 생각보다 이쁘지는 않지만 그래도 안한 것보단 낫더라구요 ㅎㅎ PyQt5에서 이미지나 색깔로 디자인(스타일)입히는 방법입니다.글씨 색깔이나 background 색깔 및 이미지를 입힐 수 있죠 이 디자인 포스팅은 2번에 걸쳐 진행하겠습니다~ 먼저 첫번째 포스팅입니다. 먼저 PyQt5에 있는 QtGui에서 import를 합니다.이미지 설정을 위해서 가져옵니다. QImage를 통해 이미지를 가지고옵니다.상대경로, 절대경로 둘다 됩니다여러분이 하고 싶은 방법으로 하시면 되어요 ㅎㅎ그리고 사이즈 조절을 하고QPalette 즉, 파레뜨를 만들어 줍니다. setBrush는 ..