파이썬 16

[혼자 공부하는 머신러닝+딥러닝] 데이터 전처리

데이터 전처리와 K-최근접 이웃 알고리즘  안녕하세요! 오늘은 데이터 전처리와 K-최근접 이웃(K-NN) 알고리즘에 대해 알아보겠습니다. 이번 포스팅에서는 데이터 전처리의 중요성과 K-NN 알고리즘의 개념을 쉽게 설명하겠습니다.데이터 전처리데이터 전처리는 머신러닝 모델의 성능을 높이는 중요한 과정입니다. 전처리는 데이터의 품질을 높이고, 모델이 데이터를 효과적으로 학습할 수 있도록 돕습니다. 특히, 특성(feature)들의 스케일이 서로 다를 때, 이를 맞추는 작업이 필요합니다.예제: 생선 분류우리는 도미와 빙어를 분류하는 문제를 다루고 있습니다. 생선의 길이와 무게 데이터를 사용하여 도미인지 빙어인지를 예측합니다.데이터 준비먼저, 생선의 길이와 무게 데이터를 파이썬 리스트로 준비합니다.도미_길이 = [..

[머신러닝] K-최근접 이웃(K-NN) 알고리즘 쉽게 이해하기

K-최근접 이웃(K-NN) 알고리즘 쉽게 이해하기안녕하세요! 오늘은 머신러닝의 기초 알고리즘 중 하나인 K-최근접 이웃(K-NN) 알고리즘에 대해 쉽게 설명해드리겠습니다. K-NN 알고리즘은 이해하기 쉬우면서도 강력한 성능을 자랑하기 때문에, 머신러닝을 처음 접하시는 분들에게 추천하는 알고리즘입니다.K-최근접 이웃(K-NN) 알고리즘이란?K-NN 알고리즘은 지도 학습(Supervised Learning)의 한 종류로, 새로운 데이터 포인트의 클래스(라벨)를 예측하기 위해 가장 가까운 K개의 이웃을 참조하는 방식입니다. 간단히 말해서, 새로운 데이터가 주어졌을 때 그 데이터와 가장 가까운 K개의 데이터 포인트를 찾아 이들의 클래스를 투표하여 예측합니다.K-NN 알고리즘의 작동 원리데이터 준비: 먼저, 분류..

[혼자 공부하는 머신러닝+딥러닝] 마켓과 머신러닝

혼자 공부하는 머신러닝+딥러닝: 마켓과 머신러닝안녕하세요, 오늘은 [혼자 공부하는 머신러닝+딥러닝]의 3강 '마켓과 머신러닝' 강의를 요약해보겠습니다. 이 강의는 머신러닝의 기본 개념을 쉽게 이해할 수 있도록 다양한 예제를 통해 설명합니다. 특히 가상의 모바일 쇼핑몰인 '한빛 마켓'의 생선 분류 문제를 중심으로 머신러닝 프로그램을 만드는 과정을 살펴봅니다.1. 인트로이번 강의에서는 교재의 1장 3절 내용을 다루며, 이전에 사전 동영상으로 학습한 1장 1절과 2절을 기반으로 본격적인 머신러닝의 개념을 설명합니다.2. 머신러닝 프로그램이란?머신러닝 프로그램은 데이터를 이용해 모델을 학습시키는 과정을 의미합니다. 이론보다는 실습을 통해 개념을 쉽게 이해할 수 있도록 접근합니다. 가상의 모바일 쇼핑몰 '한빛 마..

[도서 입력 프로그램] 프로그램 소개

개발 언어: Python주요 기능: 알라딘 중고서점 등록 도서 목록 조회, 도서 정보 수정 후 Yes24 중고서점 매장에 자동 등록주요 사용 라이브러리: Selenium, BeautifulSoup, Pandas, Tkinter, TTKBootstrap, Autoit, Pillow 등장       점: 중복되는 도서 정보 입력 자동화, 정보를 수정하여 입력 가능단       점: 조회 시간이 오래 걸림, 느림, 많이 느림 ㅠㅠ

[도서 입력 프로그램] 8. Pyinstaller exe 파일 배포

[도서 정보 자동 입력 프로그램] 8. Pyinstaller exe 파일 배포  이제 모든 작업을 마무리하고 마지막으로 py파일을 exe파일로 만들어서 배포작업만 남았다.파이썬의 단점은 배포가 어렵다는 점이다. 내 컴퓨터에서 잘 실행되는 파이썬 파일을 남의 컴퓨터에서도 실행되게 하려면, 파이썬 패키지부터 모든 라이브러리까지 버전에 맞도록 설치해야만 이상없이 실행된다. 다른 컴퓨터에서 일일히 그 복잡한 과정을 진행하는 것은 불필요한 일이라, 간편하게 exe파일로 만들어 배포하게 된다.문제는 exe파일로 배포하는 과정이 순탄하지 않다는 것. 파이썬의 설계상 약점인지 모르겠는데 exe파일로 만들때마다 오류가 많이 생기고 프로그램이 무거워진다. 어찌되었든 다른 방법보단 그래도 exe파일 배포가 제일 무난하니 이..

[도서 입력 프로그램] 6. Pandas 데이터 처리

[도서 정보 자동 입력 프로그램] 6. Pandas 데이터 처리 세상은 넓고 예외는 많다.이제 좀 다 끝내고 GUI로 넘어가나 싶었는데 한가지 아쉬운점이 남았다. 바로 란이다. 이 부분은 도서주문이 들어왔을때 많고 많은 중고서점 책꽂이에서 주문받은 도서를 찾을 수 있도록 중고매장 자체 색인코드를 입력할 수 있는 곳이다.문제는 이 자체상품코드 정보는 중고서점 관리자만 확인하면 되기 때문에 일반 고객 대상 조회 페이지에서는 보이지 않는다. 즉, 매크로 로그인을 제한하는 알라딘에서는 관리자페이지에서 정보를 크롤링할수 없어 일반적인 방법으론 수집이 불가하다. 그렇다고 비워두자니 Yes24로 주문이 들어오면 다시 알라딘에서 조회해서 자체상품코드를 찾아야하는 번거로움이 생긴다. 방법을 고민하다가 알라딘 관리자페이..

[도서 입력 프로그램] 5. Pillow GIF → JPG 변환 (feat. ChatGPT코딩)

[도서 정보 자동 입력 프로그램] 5. Pillow GIF → JPG 변환 산 넘어 산이랬던가.. 자동화의 길은 멀고도 멀다.사람이 했을때 '이럴 때는 이렇게 해야지'하는 예외 사항들이 자동화를 위한 코딩 과정에서는 굉장히 복잡한 변수가 되어버린다. Pillow가 필요하게 된 계기도 그렇다.  Yes24가 골때리는 점이 이미지 파일은 오로지 JPG 또는 PNG만 업로드할 수 있다. GIF를 올릴 때는 오류가 뜬다. 근데 문제는 우리가 원본 소스로 크롤링하는 알라딘에서는 gif파일이 업로드 가능하다는 것. 극히 드문 예외사항이긴 하지만, 만약 ISBN이 없는 신규도서를 알라딘에서 크롤링해서 Yes24로 등록하고자 할때, 만약 등록된 알라딘 이미지가 GIF라면 주소를 그대로 복사해와도 Yes24에 올리려면 ..

[혼자 공부하는 머신러닝+딥러닝] 인공지능, 머신러닝 그리고 딥러닝이란 무엇인가?

[혼자 공부하는 머신러닝+딥러닝] 인공지능, 머신러닝 그리고 딥러닝이란 무엇인가?  머신러닝과 딥러닝을 독학으로 배우고 싶은 사람들을 위한 강의 시리즈.첫번째 강의로 "인공지능과 머신러닝 개론" 부분이다. 이해를 돕기 위한 기본적인 이론 내용. 인공지능(AI)의 역사를 살펴보면서 발전 과정에서 주요 이정표와 과제를 설명한다. 초기 AI 시대에는 맥컬러흐-피츠 뉴런과 튜링 테스트와 같은 개념의 등장으로 1차 유행시기가 있었음1970년대에는 컴퓨터 처리능력의 한계로 인해 최초의 AI 겨울이 찾아옴인공 신경망의 기초적인 알고리즘인 퍼셉트론은 1957년도에 도입1959년 데이비드 휴벨과 토르스텐 비젤의 중요한 실험은 고양이의 시각 피질이 어떻게 작동하는지에 대한 관심을 갖는데 도움이 됨이어서 딥러닝에 대한 개념..

[도서 입력 프로그램] 4. Autoit 업로드창 제어

[도서 정보 자동 입력 프로그램] 4. Autoit 업로드창 제어 길고긴 Selenium과의 사투가 끝났다. 이제는 프로그램 인터페이스만 신경쓰면 되겠다고 생각을 했는데...이게 웬일.문제는 항상 예상치 못한 곳에 산적해있다.  이번 문제는 상품 이미지나 대표 이미지를 등록할때 제어해야하는 '파일 열기창'이다. 처음엔 단순하게 Selenium으로 제어가 되겠지 생각했는데, 엄밀히 따져보니 이 열기 창은 브라우저가 아닌 윈도우에 해당하는 창인 관계로 Selenium으로 조작이 불가하다. 그렇다면 복잡하게 생각할것 없이 어차피 열기창으로 하는 일은 파일 이름창에 크롤링한 이미파일 웹주소를 입력(Ctrl+V)하고 열기(Enter키) 버튼을 누르면 되는것이니 pyautogui등 자동화 라이브러리로 키보드를 조작..

[도서 입력 프로그램] 3-4. Selenium 캘린더 제어

[도서 정보 자동 입력 프로그램] 3-4. Selenium 캘린더 제어 오랜만의 포스팅이다. 1~2일에 하나씩은 꾸준히 올리고 싶은데 잘 되지 않는다. 요즘엔 머신러닝/딥러닝 쪽에 꽂혀서 틈날때마다 공부중이기도 하고, 하다보니 프론트엔드 쪽에도 관심이 생겨서 자바스크립트와 Node.js를 배워볼까 생각중이다. 아무튼 시간이 잘 나지 않는다.그래도 모든 내용을 다 정리하기까지 열심히 달려보겠다. 이번에 연구해볼 주제는 웹페이지에서 날짜를 선택할때 나오는 캘린더를 제어하는 법이다.Yes24로 도서 정보를 등록할때 기존 등록 DB에 없는 도서를 등록하려면 발행일자를 입력해야한다.이 발행일자를 단순히 타이핑하는 형태가 아니라 캘린더에서 연도/월/일을 선택하는 구조라서 고려해야할 부분들이 많다. 발행일자 선택은 ..