전체 글 150

[Machine Learning] 데이터 전처리

머신러닝에 사용되는 raw 데이터는 대부분 가공되어 있지 않습니다. 데이터 전처리(feature engineering)는 효율적인 학습을 위해 반드시 필요한 작업입니다. 데이터 전처리 방법은 여러가지가 있지만 기본적인 결측치 처리, 데이터 라벨링, 데이터 스케일링을 소개합니다. 1. 결측치 처리 데이터 셋에서 일부 데이터의 값이 존재하지 않는 경우 이를 결측치라고 합니다. 결측치는 학습에 문제가 될 수 있기 때문에 결측치 처리(변경 또는 삭제)는 중요한 작업입니다. import numpy as np import pandas as pd df = pd.DataFrame([ [42, 'male', 12, 'reading', 'class2'], [35, 'unknown', 3, 'cooking', 'class1..

AI/Machine Learning 2022.07.11

[Machine Learning] Sklearn을 이용한 머신러닝 데이터 불러오기

Sklearn을 이용하여 머신러닝에 사용할 데이터를 불러오는 예제입니다. import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn import datasets 먼저 데이터를 다루기 위한 numpy, pandas와 데이터 시각화를 위한 seaborn, matplotlib.pyplot, 그리고 데이터를 불러오기 위한 sklearn.datasets을 import 합니다. 1. 집값 예측하기 raw_boston = datasets.load_boston() print('type(raw_boston):', type(raw_boston)) print('raw_boston.keys():'..

AI/Machine Learning 2022.07.08

[Papers With Code] 딥러닝 Task 및 논문 코드 찾기

딥러닝을 이제 막 입문하신 분들이라도 Computer Vision (CV), Natural Language Processing (NLP) 정도는 들어보셨을 거라고 생각합니다. 각 분야별 Task는 무엇이 있는지, 그리고 논문의 코드가 궁금하신 분들에게 조금이나마 도움이 되고자 정보를 공유합니다. https://paperswithcode.com/sota Papers with Code - Browse the State-of-the-Art in Machine Learning 7545 leaderboards • 3092 tasks • 6203 datasets • 71000 papers with code. paperswithcode.com paperwithcode는 각 분야의 Task별로 State-of-the-..

ETC 2022.05.22

[JavaScript] Chrat.js 라인 차트 예제

Chart.js는 JavaScript charting입니다. 여러 종류의 차트를 그릴 수 있지만 본 포스팅은 라인 차트 예제만 다루도록 차후에 다른 차트도 다뤄보도록 하겠습니다. https://www.chartjs.org/ Chart.js | Open source HTML5 Charts for your website New in 2.0 New chart axis types Plot complex, sparse datasets on date time, logarithmic or even entirely custom scales with ease. www.chartjs.org 스크립트는 사이트에서 다운받아 사용해도 되고, CDN으로 사용해도 괜찮습니다. // 직접 다운로드 // CDN view 파일에는 ca..

[Java] Map 모든 데이터 가져오기

Java의 Map은 key, value로 구성되어있으며, Python의 dictionary와 같습니다. get(key)를 사용하여 value를 가져올 수 있지만 key에 해당하는 value만 가져올 수 있습니다. 코드를 작성하다보면 Map 객체의 모든 데이터가 필요한 경우가 생기기 마련입니다. 본 포스팅은 Map의 모든 데이터를 가져오는 방법을 소개합니다. 흔히 3가지 방법이 존재합니다. Map 객체에는 다음과 같이 데이터를 put() 하였습니다. 1. map.keyset().iterator() keyset()을 이용하여 Set 타입의 객체를 얻고 이것을 Iterator 타입의 객체로 변환하여 데이터를 가져옵니다. public String getMapDataWithIterator() { String re..

Language/Java 2022.01.21

[Android] 기존 프로젝트 이름 변경하기

안드로이드 스튜디오에서 프로젝트의 이름을 변경("mobile"로 변경)하는 방법은 아래와 같습니다. 1. bulid.gradle -> applicationId 변경 2. BuildConfig.java -> APPLICATION_ID 변경 3. AndroidManifest.xml -> package 변경 4. activity_main.xml -> tools:context 변경 5. settings.gradle -> rootProject.name 변경 프로젝트 이름(앱 이름) 변경은 settings.gradle의 rootProject.name을 변경하는 것이 핵심이지만, 1~4번 작업(패키지 경로 변경)도 같이 진행해 주시는 것이 좋습니다. 작업 완료 후 rebuild 또는 안드로이드 스튜디오를 종료 후 다..

[SpringBoot] "Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured" 오류

SpringBoot 프로젝트 생성 후 MyBatis 사용하고자 할 때 발생할 수 있는 오류입니다. 해당 오류는 pom.xml에 mybatis dependency를 작성하고 application.properties에 datasource로 데이터베이스 정보를 입력하지 않았기때문에 발생합니다. 해결 방법은 데이터베이스를 사용하지 않는다면 pom.xml에 mybatis dependency를 제거하거나, mybatis를 이용하여 데이터베이스를 사용한다면 application.properties에 데이터베이스 정보를 입력해주면 됩니다. (위 그림 3~10 라인 주석 해제)

[JavaScript] jqPlot 라인 차트 예제

jqPlot는 차트를 그려주는 jQuery 플러그인입니다. jqPlot 튜토리얼을 진행해보도록 하겠습니다. 1. jqPlot download (http://www.jqplot.com/) 튜토리얼에는 가장 최신 버전인 jquery.jqplot.1.0.9.d96a669을 사용하였습니다. 2. js, css 파일 확인 차트 그리기에 필요한 jquery.jqplot.js, jquery.jqplot.css 파일이 있고, plugins에 다양한 기능을 제공하는 js 파일들이 들어있습니다. 본인의 웹 프로젝트에서 원하는 경로에 넣어주면 됩니다. 3. View 코드 작성 본 튜토리얼에서는 Springboot 기반 Mustache 템플릿 엔진을 사용하였습니다. 코드는 아래와 같습니다. jqplot 플러그인을 먼저id="..

[Bitcoin] 비트코인 UTXO

은행 계좌는 현재 잔액에 대한 정보를 가지고 있습니다. 반면에, 비트코인에서 '잔액'이라는 개념은 존재하지 않습니다. 단순히 지갑의 트랜잭션 결과물로 잔액의 개념을 대체합니다. 누군가 내 지갑에 9BTC를 전송했다고 가정해봅시다. 일반적인 은행 계좌라고 한다면 잔액은 9BTC가 될 것입니다. 하지만 비트코인은 UTXO를 이용하여 5BTC, 3BTC, 1BTC로 표현합니다. 쉬운 설명을 위해 1BTC = 100원이라고 가정하겠습니다. 은행 계좌는 900원의 디지털 화폐를 보유하고 있고, 비트코인은 500원, 300원(실제는없지만), 100원 동전을 가지고 있는 것과 같습니다. UTXO (Unspent Transaction Output) 말 그대로 사용하지 않은 트랜잭션 출력입니다. 여기서 출력값은 누구에게..

Blockchain/Bitcoin 2021.04.13