분류 전체보기(217)
-
같은 숫자는 싫어
프로그래머스 같은 숫자는 싫어 문제 풀이 제한사항에 원소 크기 조건이 0~9 여서 arr에 10을 추가시키고 for문을 돌려 현재 선택된 원소와 다음번 원소를 비교하고 같지 않으면 현재 원소의 인덱스를 temp리스트에 넣습니다. temp리스트에 들어간 인덱스를 사용해서 중복된 값을 제거하고 순서를 유지하며 answer를 구했습니다. def solution(arr): answer = [] arr.append(10) temp = [] for i in range(0, len(arr)-1): if arr[i] is not arr[i+1]: temp.append(i) for t in temp: answer.append(arr[t]) return answer
2019.12.03 -
Flask에서 mongoDB 사용하기(2)
이제 데이터베이스를 만들어봅시다. Collections를 클릭합니다. Create Database를 클릭해 원하는 이름으로 데이터베이스를 만들어줍니다. 원하는 DB 이름과 COLLECTION 이름을 입력합니다. COLLECTION 은 DB 하위 폼으로 계속해서 추가 가능합니다. 파이썬에서 mongoDB를 사용하려면 pymongo라는 라이브러리가 필요합니다. cmd 창을 열고 pip install pymongo 를 해줘도 좋지만 Flask를 사용할 예정이기 때문에 pip install Flask-PyMongo 로 설치해줍니다. Flask는 당연히 깔아줘야 합니다. pip install Flask 모두 깔아 줬다면 하나씩 import 해봅시다. from import Flask from flask_pymong..
2019.11.09 -
Flask에서 mongoDB 사용하기(1)
직접 mongoDB를 설치해서 사용해도 좋지만 더욱 편리하게 mongoDB Atlas를 사용해줍니다. Atlas MongoDB 사이트: https://www.mongodb.com/cloud/atlas 가입하면 클라우스 데이터베이스를 무료로 사용할 수 있습니다. 무료로 회원가입을 한 이후에 바로 MongoDB 서비스를 이용할 수 있습니다. 가입을 하자마자 바로 하나의 데이터베이스를 생성하라고 나옵니다. 그냥 기본 설정 그대로 만들어 주시면 됩니다. 아마 기본적인 클라우드 제공 서비스로는 AWS가 선택되어 있을 겁니다. 나머지 설정 또한 기본 설정으로 진행하면 무료로 서비스에 가입할 수 있습니다. 클러스터를 생성한 이후에 약간의 시간이 지나면 다음과 같이 초기화가 완료됩니다. 이후에 다음과 같이 [CONNE..
2019.11.09 -
MNIST 데이터를 이용한 글자 인식 프로그램 (3)
결과, 정확도 결과 덤프 화면은 아래 그림과 같습니다. *정확도 기본 학습 데이터 Accuracy:0.9758616 역전파 Accuracy:0.97534880086174 오차 역전파 Accuracy:0.9118631680482993 CNN Accuracy:0.41925920819255125 문제점 같은 이미지로 비교한 결과 여러가지 문제점들이 발견되었습니다. 다른 학습 방법들의 예측결과를 비교한 결과 기본학습데이터의 정확도가 가장 높았습니다. 그리고 가장 높은 정확도를 가질 것이라고 예상했던 CNN이 가장 낮게 나왔습니다. 문제 파악을 위해 입력데이터에 다른 이미지를 사용해봤는데 CNN을 제외한 나머지는 숫자를 얼마나 정확하게 그리는지에 따라서 정확도의 편차가 큰 것을 확인 할 수 있었고 CNN은 정답도..
2019.10.08 -
MNIST 데이터를 이용한 글자 인식 프로그램 (2)
OpenCV로 결과 나타내기 직접 그린 손 글씨를 어떤 숫자로 인식했고 어느 정도의 정확도가 나왔는지 확인하기 위해 openCV를 사용해 결과를 출력했습니다. dst[:,:] = 0 #지우기 b,g,r,a = 0,255,0,0 cv2.putText(dst, text1, (0,15), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (b,g,r), 1, cv2.LINE_AA) cv2.putText(dst, text2, (160,360), cv2.FONT_HERSHEY_SIMPLEX, 10, (b,g,r), 3, cv2.LINE_AA) ## 정답그리기 cv2.imshow('dst', dst) Colored by Color Scripter CV창에는 이미 손 글씨가 그려져 있는 상태이기 때문에 CV창을..
2019.10.08 -
MNIST 데이터를 이용한 글자 인식 프로그램 (1)
요약 기계학습은 인공지능의 한 분야로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 사용하여 학습하는 것을 말합니다. 이 프로젝트에서는 손 글씨로 된 숫자 데이터로 이루어진 MNIST 데이터를 사용하여 학습합니다. 사용자가 직접 그린 손 글씨 이미지를 학습된 매개변수로 이루어진 신경망을 통과시켜 어떤 수를 입력했는지 판단하고 정확도를 출력하는 코드 작성을 목표로 합니다. 완성된 코드를 바탕으로 단순 신경망을 통한 학습이외에도 오차역전파법, CNN을 사용한 학습 데이터를 사용하여 각각의 정확도를 비교합니다. 프로젝트 준비(설계) 코드의 실행순서를 간략하게 요약하면 다음과 같습니다. 1. 코드를 실행시키면 CV창이 보여지고 사용자가 CV창에 마우스를 사용해서 숫자를 그립니다. 2. 스페이스바를 누르면 2..
2019.10.08