220415_TIL (+ 일주일 회고)

4771 단어 TILTIL

Fact


오늘은 Sprint Challenge 하는 날이었다

오늘은 아래 문제를 풀었다

  • vector 내적 구하기

    • np.dot
  • matrix transpose, inverse 하기

    • np.linalg.inv, np.tranpose
  • determinant 구하기

    • determinant가 0이면 해당 정사각 매트릭스는 singluar matrix다. 즉, 매트릭스의 행과 열이 선형 의존 관계에 있다.
  • covariance, correlation 구하기

    • np.cov(x, y) , np.correcoef(x, y)
    • array가 아닌 dataframe으로 할 수도 있지만(df.cov, df.corr(), array가 더 간결한 것 같긴 하다.
    • 두 값을 구할 때는 매트릭스에서 항상 인덱싱을 해줘야 한다. (ex. 공분산 행렬식은 매트릭스로 나오기 때문)
  • 데이터 정규화 하기

    • StandarScaler() - sklearn.preprocessing에 있다.
  • PCA 적용 및 시각화

  • K-mean Clustering 하고 시각화.

  • Scree plot

    • 공부가 더 필요하다. 시각화 과정을 이해하기가 어려웠다.
  • Elobow method

    • 코드 로직을 기억하자!

      sum_of_squared_distances = []
      K = range(1, 8)
      for k in K:
      	km = KMeans(n_clusters = k)
      	km = km.fit(points)
          sum_of_squared_distances.append(km.inertia_)
          
      plt.plot(K, sum_of_squared_distances, 'rx-')
      plt.xlabel('k')
      plt.ylabel('Sum_of_squared_distances')
      plt.show()
      

그 외

E = np.array([[7,4,2], [1,3,-1], [2,6,-4]])


Finding


Sprint Review 했던 것을 기록해둔다

| 더 공부하고 싶은 내용:
scree plot, elbow method

| 사실 (Fact):
이번 주에는 vector, matrix, covariance, correlation coefficient, determinant, span, rank, eigenvalue/vector, PCA, k-mean clustering를 배웠다.

| 느낌 (Feeling):
이번 주는 재밌어서 한다기보다 중요한 것이니 반드시 이해해야 한다는 의무감이 더 컸다. 공분산, 상관계수 등 처음 듣는 개념이 쏟아지다보니 받아들이는데 아무래도 어려운 점이 많았다. (특히 아이겐 벡터 너어어!!) 그래도 과제를 하고, 배운 내용을 정리해 블로깅하면서 그날 꼭 이해해야할 건 잘 하고 넘어갔던 것 같아 그저 감사할 따름이다.

| 교훈 (Finding):
선형대수를 목적 그 자체보다는 수단으로 보고자 노력했다. 어떤 말이냐면, 나는 수학과 대학원생이 아니므로 선형대수 자체를 깊게 파고들며 이해가 안 간다고 괴로워할 필요는 없다. 대신, 앞으로 데이터 사이언스를 하면서 '선형대수가 어떤 도움을 줄 수 있는지 이해하고 있고, 내가 그걸 활용할 수 있을 정도'면 지금은 충분하지 않을까 한다. 공부할 시간이 무한정 주어진다면 깊게 파고들며 지나가도 상관은 없겠지만, 아직 배울 게 너무 많이 남았는데 목적에만 집착하다보면 최악의 경우 끝까지 갈 열정을 잃어버리게 될 수도 있지 않을까.

| 향후 행동 (Future Action):
내가 이해하고 정리한 부분을 기억해야 한다! 블로그에 정리한 내용을 반복해서 읽어야겠다. (시간이 흘러도 머릿속에 적어도 키워드 정도는 떠올릴 줄 알아야 한다. 그래야 구글링이라도 하니까)


같이 공부하는 사람들 회고 읽어보면 많이들 열심히 하는 것 같다.
남들과 배움의 속도나 수준의 차이를 비교하여 괴로워할 필요는 없지만, 열심히 하는 것은 보면서 자극 좀 받자!

이번 주는 뭔가 스스로를 더 푸쉬하면 지쳐버릴 것 같아서 나름 조정을 하긴 했지만.. 매번 그러면 또 안될 것 같다. 가끔씩만 그러자.

다음 주에는 일주일 간 개인 프로젝트를 진행한다. 뭘 하게 될지 모르겠지만 재밌게 할 수 있었으면 좋겠다.

그리고 난 확실히 파이썬 코드 짜는게 재밌다.

좋은 웹페이지 즐겨찾기