181104-TodayWhatILearned

181104 TWIL


오늘 한 일은 무엇인가

  1. 회기 부분 공부
  2. Project Data 회기 돌려보기

내일 할 일은 무엇인가

  1. Project 모임
  2. 회기 부분 정리
  3. 크롤링 프로젝트 개선 사항 고민
  4. (시간이 되면) A* 알고리즘 코드 짜보기

무엇을 느꼈는가

  • 다리를 다치고 통증으로 인해 집중해서 코드를 짜기 힘들었다. 수학 이론을 공부하면서 내일 있을 프로젝트
    모임을 준비했고, 팀원들께서 만든 코드를 정리하며 데이터를 다시 추출하였다. 이 데이터들을 통해 회기의 몇몇
    가지를 돌려보았다. 이것을 토대로 내일 팀원들과 함께 이야기를 나눠보며 좀더 어떻게 할 수 있을지 고민해봐야
    겠다.

181103-TodayWhatILearned

181103 TWIL


오늘 한 일은 무엇인가

  1. Crawling miniProject 코드 작성
  2. Pandas 라이브러리 정리
  3. Project 주말동안 할일 정하기

내일 할 일은 무엇인가

  1. Project Data 회기 돌려보기
  2. 회기 부분 공부
  3. 크롤링 프로젝트 개선 사항 고민
  4. (시간이 되면) A* 알고리즘 코드 짜보기

무엇을 느꼈는가

  • whoscored 사이트의 Player 정보를 크롤링 하는 miniProject 의 코드를 작성하였다. Selenium을
    통해서 크롤링하는데, headless 적용을 하면 에러가 나는 부분을 어떻게 처리해야할지 고민해보아야 한다.
    Chrome webdriver 를 열어놓는 환경과 headless 환경의 차이가 있는 것 같은데, 이 부분은 document
    를 살펴보아야 할 것같다. window창을 열어놓는것 과 그렇지 않은 것의 차이점이 있는지 확인해야한다.
  • 함수로 짠 코드를 class 화 시킬 때는 다루는 범위가 커져야 한다는 강박관념이 있다. class 화 시켰을
    때의 편의성 부분을 고민하면서 위 생각으로 흐름이 이어지는 것 같은데, 그렇지 않기 위해 class의 장점을
    좀더 체감해볼 필요가 있다.
  • Linear Regression 강의를 들으면서, LineByLine 수식을 이해하는데는 문제가 없으나 이야기의 큰 그림
    을 놓치는 경향이 있는 것 같다. 내일은 이 부분을 중점적으로 공부해보고, 메인 프로젝트에 적용해보는 것 까지
    해봐야겠다.

181102-TodayWhatILearned

181102 TWIL


오늘 한 일은 무엇인가

  1. Database - MySQL 공부
  2. A * 알고리즘 스터디
  3. NaN 값 처리에관한 자료 서칭

내일 할 일은 무엇인가

  1. Project 모임
  2. Pandas 라이브러리 정리
  3. miniProject Crawling 코드짜기
  4. A * 알고리즘 짜기

무엇을 느꼈는가

  • 오늘 스터디에서 A* 알고리즘를 주제로 얘기를 좀더 나누었다. 각자 공부해오신 내용을 바탕으로 알고리즘의
    흐름이 어떻게 되어가는가 좀더 구체적으로 생각해보고자 했다. 좀더 해결법에 가까워진 느낌을 받았으나,
    이제는 좀더 구체적으로 구현해보면서 다가오는 문제들을 해결해보고자 했다. 모든걸 완벽하게 이해하고 실현하는
    것만이 답은 아니기 때문이라고 생각한다.
  • 주말동안은 프로젝트, 미니프로젝트, 알고리즘 적용 코딩, 수학 공부, DB공부.. 산더미지만 하나씩 그어나가
    야겠다.

181101-TodayWhatILearned

181101 TWIL


오늘 한 일은 무엇인가

  1. Project 모임
  2. Data 일부 전처리
  3. Crawling 공부

내일 할 일은 무엇인가

  1. Database - MySQL 공부
  2. Pandas 라이브러리 살펴보기
  3. miniProject Crawling 주제 선정, 코드짜기

무엇을 느꼈는가

  • 프로젝트 모임에서 우리가 예측할 Data (Departure Delay)를 정의하고, 나는 오늘 시각 data 의 전처리를 하였다. Data 들이 의미없는 값들을 가지고 있을 때 어떻게 처리해야 할지 고민하다가 확실한 답은 못얻은 채, 우선 시각 데이터의 formatting 만 바꾸었다. data들을 어떻게 채워넣어주어야 할지는 조금더 공부해 보아야 할 것 같다.
  • 첫 프로젝트 모임의 느낌이 매우 좋았다. 모임을 하기 전까지는 내가 했던 것들이 맞는가 하는 의구심과 project를 하기에는 아직 부족한 지식과 실력이라는 걱정이 앞섰다. 오늘 모임을 하면서 각자 살펴보았던 data 의 특징들과 앞으로 어떻게 data 를 다듬을 것인지 얘기하면서, 더 좋은 방향과 몰랐던 것들, 알았던 것들을 서로 나누면서 발전적인 대화가 되었다는게 매우 뿌듯하다.
  • 모임에서 받은 좋은 느낌을 이어서, 오늘 내가 맡기로한 부분을 해결하기 위해 앉았고, 또 나름 해결한 부분이 있는 것 같아 작은 성취감을 맛보았다.
  • 협업을 하기 위해 git에 관해 좀더 공부하고 나눌 필요성이 느껴졌다. 특히나 code conflict 가 실제로 발생하기 전에 어떻게 다루어야 하는 것인지 좀더 깊게 공부할 필요성을 느꼈다.

Mysql

MySQL

1. Install MySQL

1
$ cd usr/local/mysql/bin

위 경로에서

  • MySQL 서버에 접속

    1
    $ sudo ./mysql -p
    1
    mysql >
  • 패스워드 변경

    1
    2
    3
    mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '바꾸고싶은 비밀번호';
    mysql>FLUSH PRIVILEGES;
    mysql>quit;

2. MySQL Shell Command

(1) DATABASE 생성, 접속, 삭제

  • 현재 상태 보기
    1
    mysql> STATUS
  • DB 목록 보기
    1
    mysql> SHOW DATABASES;
  • DB 만들기
    1
    mysql> CREATE DATABASE DBNAME
  • DB 접속하기
    1
    mysql> USE DBNAME;
  • 현재 접속중인 DB 확인하기
    1
    mysql> SELECT DATABASE();
  • DB 지우기
    1
    mysql> DROP DATABASE DBNAME;

(2) TABLE 생성, 추가, 삭제

  • table 만들기
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE table_name(
    column_name_1 column_data_type_1 column_constraint_1,
    column_name_2 column_data_type_2 column_constraint_2,
    .
    .
    .
    )
  • column_constraint 는 Optional 이다. (unique 와 같은 제약조건)

user 라는 table에 name, email, age 컬럼 생성

  • example1 : constraint 가 없을 떄,
    1
    2
    3
    4
    5
    mysql> CREATE TABLE user(
    name CHAR(20),
    email CHAR(40),
    age INT(3)
    )
  • example2 : constraint가 있을 때,
    1
    2
    3
    4
    5
    6
    7
    mysql> CREATE TABLE user2(
    user_id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    email VARCHAR(30) UNIQUE NOT NULL,
    age INT(3) DEFAULT'30',
    rdate TIMESTAMP
    )


(3) 수정

(3)-1. DATABASE 수정

  • DATABASE 의 encoding 수정

  • 현재 문자열 encoding 확인
    1
    mysql> SHOW VARIABLES LIKE "CHARACTER_SET_DATABASE";
  • mydb 데이터베이스의 문자열 인코딩을 utf8 로 변경
    1
    mysql> ALTER DATABASE mydb CHARACTER_SET = utf8;
  • user 데이터베이스의 문자열 인코딩을 ascii 로 변경
    1
    mysql> ALTER DATABASE user CHARACTER_SET=ascii

(3)-2. TABLE 수정

  • user 테이블에 tmp라는 컬럼명, TEXT 데이터 타입 컬럼을 추가
    1
    mysql> ALTER TABLE user ADD tmp TEXT;

181031-TodayWhatILearned

181031 TWIL


오늘 한 일은 무엇인가

  1. 선형회귀분석 공부
  2. 행렬의 미분 공부
  3. (PROJECTmini)A star Algorithm 개념 정리
  4. (PROJECT)프로젝트 진행 data 탐구
  5. 데이터 전처리 공부

내일 할 일은 무엇인가

  1. Project 모임
  2. 데이터 전처리, 데이터들의 의미 파악, 예측할 delay 부분 정의하기

무엇을 느꼈는가

  • 오늘은 아침부터 하루종일 컴퓨터 앞에 앉아 있어서, 눈과 목이 너무 아프다. 그래도 새로운 알고리즘 내용에
    관한 이해와, 앞으로 진행할 메인 프로젝트의 data들의 의미를 파악해서 뿌듯한 하루였다. Data의 의미를
    파악했으나 이것을 처리하기 위해서 numpy 와 pandas 의 documentation 을 읽으면서 데이터들을 다뤘다.
    라이브러리와 패키지들의 메소드와 클래스들을 자유자재로 다루기 위해선, 계속 사용해보면서 익혀야 함을 느꼈다.
    메소드들을 알면 복잡하게 코드를 안짜도 이미 내장되어있는 메소드로 손쉽게 처리할 수 있기 때문이다.
  • data를 혼자 곰곰히 보다, 시간에 관한 column 의 의미를 파악했으나 이것을 손쉽게 합쳐서 데이터들을
    재정렬하는데 오늘 실패했다. 의미는 파악했으니, 내일 좀더 시도해보면 시간에 관한 data 를 정리할 수 있지
    않을까 한다.

181030-TodayWhatILearned

181030 TWIL


오늘 한 일은 무엇인가

  1. 검정, 추정 부분 수식 꼼꼼히 다시 보기
  2. A star(A*) Algorithm 개념 읽기

내일 할 일은 무엇인가

  1. 선형회귀분석 정리 (패키지 별로 특징, 메서드 파라미터 위주)
  2. 데이터 전처리 부분 공부
  3. Test data 처리는 어떻게 하는 건지 공부해보기

무엇을 느꼈는가

  • 추정부분 수식을 공부하면서 eigenvalue 부분이 기억이 잘 안나던 것을 시간이 될 때 자료들을 챙겨봐야겠다.
  • 오늘 공부한 선형 회귀분석을 배우니 조금이나마 프로젝트를 어떻게 진행해야되는 건지 감이 잡힌 것 같다. 미약한
    시작을 하기위해 오늘 공부한 개념들을 사용해서 여러가지 돌려보고 데이터를 파악해볼 수 있을 것 같다.
    하지만, 우리가 가지고 있는 데이터셋이 바로 적용 할 수 없는 현실적인 데이터이기 때문에, 여러가지 전처리
    작업이 필요할 것 같다. 오늘 배운 것을 적용해보기 위해 내일은 데이터 전처리를 공부해보고, 또한 test data의
    생성 역시 공부해보아야할 부분인 것 같다.

181029-TodayWhatILearned

181029 TWIL


오늘 한 일은 무엇인가

  1. 자료구조 Binary Tree, Stack 으로 Queue구현, Stack 응용
  2. 추정 부분 복습
  3. 스터디 나갈 방향 이야기
  4. A star algorithm search

내일 할 일은 무엇인가

  1. ‘추정’에서 수식 부분 다시 보기

무엇을 느꼈는가

  • 스터디 첫 모임을 가졌다. 프로그래밍에 관해 알고있는 것들을 활용하고 응용하는 쪽으로 어떻게 하면 될지 많은 의견을 나누었다. 상상의 나래를 펼치니, 타오르는 열정과 함께 만들어보고 싶은 것은 많았으나…. 아직 아는게 많지 않기에.. 다시 현실에 눈을 돌렸다.
  • Maze 문제에서 다른 알고리즘을 통해 구현해보려고 의견이 모아졌다. 직접 찾아서 적용해보는 첫 algorithm 이기에, 직접 찾아가면서 공부하고, 이것을 적용하는 경험을 통해 또 다른 배울 것이 있을 것 같아 매우 기대된다.

181028-TodayWhatILearned

181028 TWIL


오늘 한 일은 무엇인가

  1. 검정과 추정 공부
  2. Blog 테마 수정

내일 할 일은 무엇인가

  1. ‘추정’에서 수식 부분 다시 보기
  2. (Study) 데이터 구조 강의 듣기

무엇을 느꼈는가

  • MaximumLikelihood 를 실제로 손으로 써가며 풀어보는 과정에서, 지금까지 배웠던 수학적 테크닉들이 모두 쓰이는 것을 보고 뿌듯하면서도 재미있었다. 뿌듯한 이유는 아마도 한줄 한줄 써가는 내용이 여태 공부한 수학 개념들로 이루어진것 때문일 것이다. 그 중에서도 다음 식을 전개하는 과정에서 눈에 잘 들어오지 않아 전개하지 못할 때도 있었다. 이것은 아마 앞부분 개념이 그 순간에 적용이 되지 않기 때문이라고 생각된다. 행렬의 내용중 몇가지 특성들과 라그랑주 멀티플라이어에 대한 수식을 틈이 생길떄 챙겨서 봐야겠다.

  • 오늘은 수학을 공부하느라 프로그래밍은 하지 못했다. 중간에 졸린 걸 해소해보고자 블로그 테마 색깔 수정과 그 수정을 위해 블로그의 코드 구조를 본게 전부 였다. 30분 푹빠져서 하다가 주객전도 되지않으려 다음으로 미뤘다.

  • 위 주제들에 관해 알게된 것도 많은 하루였고, 뿌듯한 하루였다.


181027-TodayWhatILearned

181027 TWIL

오늘 한 일은 무엇인가

  1. 확률 수학 공부
  2. 자기전 (스터디)데이터구조 부분 1강 듣기

내일 할 일은 무엇인가

  1. 확률분포를 다시 복습하면서 검정, 추정에서 이어지는 부분 꼼꼼히 공부
  2. 데이터 구조 강의 수강 계획 세우기

무엇을 느꼈는가

  • 검정방법론에 대해 좀더 꼼꼼히 보았다. 수학적인 수식들은 수업시간에 다 이해가 되는 편이지만 이 수식들을
    말로써 표현하고, 글로 풀어쓰는 순간 머리가 빠릿빠릿 안돌아가는 느낌이어서, 한단계한단계 논리적으로 따져가며
    공부하니 이제야 좀 편해진것 같다. 가설 검정 같은 때에도, 말로 풀어쓰는 것 보다 간단하게 수식으로 표현하고,
    각각의 p-value 를 확인한뒤 원래 작성했던 H_0, H_a 에 대해 생각해보면 쉽게 되었으나 이것을 말로 표현하고
    글로 구성하려고 하니 간단한것도 복잡하게 생각했던 것 같다. 결국 내가 알게 된것을 상대방과 논의하고
    앞으로 만나게 될 클라이언트들을 대상으로 설명해야하는 것이 모두 이런 부분에서 시작되는 것임을 느꼈기에,
    내 생각과 가정 -> 수식으로 표현 -> 다시 말 혹은 글로 표현 하는 것을 습관처럼 해야겠다.