본문 바로가기

분류 전체보기

(25)
Data Preprocessing 1. 데이터 값으로 NaN, 즉 null은 허용되지 않는다. 2. 문자열 값이 입력으로 허용되지 않아 숫자형으로 변환해야 한다 : feature vectorization / deletion Label Encoding - 카테고리형 피쳐 -> 코드형 숫자값 ex) TV: 1, 냉장고: 2, ... from sklearn.preprocessing import LabelEncoder items = [ 'TV', '냉장고', '전자레인지', '컴퓨터', '선풍기', '믹서', '믹서', '선풍기', ] # LabelEncoder를 객체로 생성한 후, fit()과 transform()으로 레이블 인코딩 수행 encoder = LabelEncoder() encoder.fit(items) labels = encode..
Retrofit! Eureka! Fragment랑 같이 쓰려다가 MainFragment 예시 때문에 글이 너무 길어져서. 우선 response가 제대로 돌아오지 않던 이유를 찾았다. Retrofit이 Gson을 디폴트로 사용하기 때문에, 내가 Body로 전송하는 인스턴스가 Json으로 자동으로 serialized 되었기 때문. 즉, 이미 serialized 된 JSONObject를 한 번 더 toJson() 시켜주는 삽질을 하고 있던 거다. 하여, 다시 만든 인터페이스. LogInApi.kt interface LogInApi { @POST("/Login") fun startLogin(@Body jsonObj: Operator) : Call companion object { fun create() : ApiInterface { val r..
MVVM 모델로 나아가기 1단계 : Fragment ...는 절반의 성공. 하지만 step by step 나아가는 것! 언제나 조급해하지 말자. 무엇이든 멈추지만 않으면 된다는 마음가짐으로! 앞서 구조를 뜯어고치고자 결심한 계기는 기존에는 완전 초보로 Activity에 모든 것을 몰아넣었지만, "안드로이드스러운" 개발을 위해 MVVM을 적용해보려 했다. 액티비티들의 연쇄로 무겁고 Intent와 Static 선언을 통한 데이터 통신보다 간단하고 가벼운 방법을 찾고 싶기도 했고. 하여 우선 액티비티로만 이루어져 있던 것을 Fragment로 바꿔주는 작업을 시작했다. MainActivity 에서 버튼식으로 나아가던 액티비티들이 결국 DrawerLayout과 본질적으로 다를 게 없으니, 그 페이지들은 프래그먼트로 뷰를 올리자는 것. 하는 김에 원래 MainAct..
분류와 검증 권철민 작가님의 파이썬 머신러닝 완벽 가이드를 보며 배워가는 중. 실습 코드를 올리는 건 저작권에 걸리겠지...? 분류 대표적인 지도학습 방법 가운데 하나. 학습을 위한 다양한 피처와 분류 결정값인 레이블 데이터로 모델 학습, 별도 테스트 데이터 세트에서 레이블 예측한다. 책에서는 scikit-learn이 기본으로 제공하는 iris dataset으로 실습했다. DecisionTreeClassifier 데이터 세트 분리 : 학습 데이터와 테스트 데이터로 분리 모델 학습 : 학습 데이터 기반 ML 알고리즘 적용, 모델 학습 예측 수행 : 학습된 ML 모델로 테스트 데이터 분류 예측 평가 : 예측 결과값과 테스트 데이터의 실제 결과값 비교해 ML 모델 성능 평가 교차검증 Overfitting; 고정된 학습 데..
여기에는 주로 Coursera 및 Youtube 등에서 공부한 것들을 기록해두려 한다. 자료구조와 알고리즘을 주로 공부하고 있다. "컴퓨팅적 사고"를 위해...
아이고 다 실패했다! : Retrofit 아이고 아이고. 일단 울고 시작한다. WPF 개발하던 코드가 이식된 것과 같은 프로젝트이기도 하고, 또 나부터가 깊이 있는 배움 없이 바로 프로젝트에 투입되어 '무엇이 안드로이드다운 코드인가?' 에 대한 베이스가 부족했기에, 이번에 일단 배포는 시켰으니 브랜치를 꺾어 안드로이드스러운 개발을 하고자 했다. 우선 네트워크 통신 쪽을 손 보려 했다. 기존의 방식은 open class ActivityBase : AppCompatActivity() { fun setNetworkData(data: String, responseCode: Int) { } } 와 같이 기초 액티비티를 생성, 다른 액태비티가 해당 액티비티를 extends 하여 오버라이딩, 내가 apiCall 별로 임의로 설정해준 responseCode에..