ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2024-01-31
    스파르타/TIL(Today I Learned) 2024. 1. 31. 23:49
    더보기

    SQL 코드카타

     

    Japan Population(SQL)(간단)

    Japan Population | HackerRank

    일본도시의 총인구를 구하는 문제이다.

    SELECT SUM(c.population)
    FROM city c
    WHERE c.countrycode = 'JPN'
    

     

    Population Density Difference(SQL)(간단)

    Population Density Difference | HackerRank

    모든 도시중 가장 인구가 많은 도시의 인구와 가장 적은 도시의 인구의 차이를 구하는 문제이다

    SELECT MAX(c.population)-MIN(c.population)
    FROM city c
    

     

    The Blunder(SQL)(문제 해석 어렵.., CEIL, regexp_replace, 특정문자제거하기(숫자도 포함))

    The Blunder | HackerRank

    정상 월급 평균과 숫자에서 0을 없앤 이상 월급 평균의 차를 구한 다음 올림하는 문제이다.

    SELECT 
        CEIL(AVG(e.salary)-AVG(REGEXP_REPLACE(e.salary,'[0]','')))
    FROM 
        employees e
    

    쿼리에 대해 간단히 쓰면 각 월급 평균을 구하는데 뒤의 항은 정규표현식을 이용한 replace로 0을 공백으로 바꾸는 즉 0을 제거하는 함수를 의미한다 그런뒤 평균을 구해서 두개의 차를 구해주는데, ceil를 이용하여 올림하는 쿼리이다.

     해당문제에 대해 이런 짓을 실무에서 할일이 있을지…? 정확히는 이런 문제 내용 그대로 하는 짓보다는 특정숫자제외하는 일정도? 전화번호에서 -빼기는 할 것 같기도한데, 그리고 보통 반올림을 많이 쓸 것 같은데 올림이나 버림도 곧잘 쓰이는지? 에 대해서 크지는 않고 아주 작은 궁금증이 일어나서 나중에 질문할 것이 생기면 물어보면서 같이 물어볼 예정이다

     

    더보기

    머신러닝 관련? 질문

     

    우선 scikit-learn? sklearn?

    설치는 scikit-learn으로 해서 설치했는데 막상 패키지 설치된 경로 찾아가보면 scikit-learn이름의 폴더에는 py파일 하나도 없고 왠이상한 파일들(내가 잘몰라서 뭔지 모르는 파일들) 몇개만 있고, import부터 해서 패키지 경로에도 sklearn안에 py파일들이 다 들어있고 하여 관련하여 여쭤봤다

    여쭤보니 안그래도 튜터님도 궁금증이 생기셔서 관련해서 찾아보셨었는데 둘이 같은 패키지를 의미하는데 왜 이렇게 해둔지는 모르겠다고 하시면서 이런 경우를 처음 본다고 하시며 이 패키지가 특이한 경우라고 답해주셨으며, 왜 이렇게 했는지 튜터님과 찾아봤지만 명쾌한 해답은 얻지못하고 마무리지었다

     

    다중선형회귀랑 다항회귀관련하여 

    틀린 표현은 아닌듯하였으나, 엄밀히 따지면 비선형의 경우는 회귀도 쓰긴 하지만 회귀보다 다른 방법을 많이사용하여 굳이 비선형 다중회귀라는 표현은 잘 쓰이지 않는 듯한 느낌이였다(사실 이부분은 뭔가 답변이 이해된듯 안된듯하여 나중에 깔끔히 정리가 되는지 확인해보고 안되면 다시 재차 질문해서 확인해야할듯하다 아니면 따로 전체 머신러닝 모델의 구조를 아는 것이 더 잘 이해될 듯하다 튜터님도 처음에 그런 말씀을 하셨기에 나중에 공부하면서 이해를 추가적으로 해봐야할 듯하다)

     

    모델관련해서 변수 적을 때 (함수 안에 정의된 게 그렇게 되어있긴 하던데) X만 대문자로 해주는 이유가 있으실지? 

    관습같은 것, 선형회귀할 때 원래 행렬로 푸는 거라 이어져서 그렇게 관습된 것이라고 답변해주셨다

     

    predict할 때 조금이라도 높은 쪽으로 판단내리게 되어있는 것인지?

    그리고 아주 작은 확률로 아예 50:50이면 어떻게 결과가 나오는지?

    →내장함수기준이긴 한데 아마 1로 될듯

    predict를 직접확인해보면 알수 있을듯(사실 반반이면 예측실패)

    그리고 추가로 이 기준을 반반이 아니라 다른 기준으로 설정 가능한지? 어떻게하는지?(뒤에 있을 수도 있음) roc_curve roc 라고 다른 기준으로 해둔 평가지표 모델이 있음

    predict_proba를 이용해 내가 직접 threhold정해서 할 경우는 없으면 사용자지정함수로 짜주는데 자주쓰여서 있을 수도 있으니 찾아보기

    따라서 추가적으로 찾아볼 필요가 있을 듯하다

    오늘도 SQL은 별 내용이 없었는듯하고(한문제는 새로 알게된 함수등도 있긴해 아예 의미없지는 않았다)

    그리고 머신러닝 강의가 심화부분이 생각보다 강의수가 못봤던 아래부분에 더 있기도하고(처음에 분량 확인할 때 1주차만 있는 것으로 확인하고 예상 및 계획을 짰었다) 위 1주차 강의만해도 오늘 상담을 다녀오긴 했지만 일찍 끝나서 1시간 정도만 소비되었는데 하루종일 열심히 들었지만 지금 작성하는 현재 기준으로 1주차 짧은 10분미만 짜리 두개가 아직도 남아있다, 아무래도 쭉 하다가 세세한 설명부분을 다 기록으로 남겨두다 보니 더 오래걸리는 것 같기도하고 또 중간에 자세히 알아볼 필요가 있다 싶은 메소드등이 나오면 docs찾아서 살펴보고 하다보니 생각보다 더 오래 걸린듯하다

    내용자체는 이제는 조금 복잡, 어려워지는 부분이 나오는 것 같기도 한데 사실 아직까지는 따라가는데 아무런 무리가 없는 것 같기는 하지만 분량이 생각보다 조금 많아 기억은 다 하지 못할 듯하여 정리한 부분을 보고 숙달하는 과정이 따로 필요할 듯하다. 그래서 원래 계획으로는 오늘 강의 다듣고 나서 저녁에 짜투리로 과제 잠깐 해보다가 내일 오전에 튜터님께 궁금한 부분등을 질문하고 과제관련해서도 추가로 질문드려 확인하고, 과제를 완료 짓고 남는 시간동안 그외 공부가 필요한 부분들을 정리, 복습 하는 과정을 가질려했는데 아직 강의도 다 듣지 못하여 내일 오후에 튜터님 계시는지 확인해보고 안계시면 우선적으로 강의 듣다가 의문 생긴 부분에 대하여 질문을 우선 드리고 답변 받은 뒤 강의를 마저 듣고 과제를 해보고 금요일 오전에 과제에 관련하여 해결을 하고 오후에 과제 진행경과에 따라 추가적으로 하거나 다른 공부를 정리하는 시간을 가져보던가 할듯하다

    '스파르타 > TIL(Today I Learned)' 카테고리의 다른 글

    2024-02-02  (0) 2024.02.02
    2024-02-01  (0) 2024.02.01
    2024-01-30  (0) 2024.01.30
    2024-01-29  (1) 2024.01.29
    2024-01-27~2024-01-28  (1) 2024.01.29
Designed by Tistory.