Apache Spark 설치

Window 운영체제

1. Anaconda 설치하기

Anaconda Prompt에서 python 3.8 이상인지 확인

where python 으로 Python이 어디에 설치되어 있는지 확인

pip : python package installer
where pip으로 pip이 어디에 있는지 확인

pip --version으로 pip 버전 확인

2. JAVA

java --version으로 버전 확인
Extended Support Until이 긴 JAVA 8(LTS)을 다운받는다

3. Spark

다운받은 파일을 원하는 위치에 이동한다.

4. Hadoop

hadoop-2.7.7을 사용
다운받은 파일을 원하는 위치에 이동한다.

5. Pyspark

Anaconda Prompt에서 pip install pyspark

환경변수 설정

주의사항: 파일경로에 빈칸이 존재하면 Error가 발생

JAVA_HOME
D:\ProgramFiles\Java\java-14-openjdk-14.0.2.12\bin

HADOOP_HOME
D:\ProgramFiles\Hadoop

SPARK_HOME
D:\ProgramFiles\Spark\spark-3.2.0-bin-hadoop2.7

PYSPARK_PYTHON
where python을 해서 D:\ProgramFiles\Anaconda3\python.exe

환경변수 > 변수: Path를 선택하여 [편집]버튼을 누르고 아래와 같이 추가

Mac 운영체제

1. Anaconda 설치하기

2. which python 으로 경로 찾기

3. Homebrew 설치

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#JAVA 버전확인
java -version
# JAVA8 설치
brew install --cask adoptopenjdk8
# SCALA 설치
brew install scala
# Apache Spark 설치
brew install apache-spark
# pip 버전확인
pip --version
# pyspark 설치
pip install pyspark
# pyspark 터미널 뜨는지 확인
pyspark

Google Machine Learning Bootcamp 2022 수료후기

출처: Gather Town에서 나홀로 사진찍기

[출처: Google Developers 국문 블로그]
2022년 3기 구글 머신러닝 부트캠프
프로그램 기간: 2022.06.22 ~ 2022.09.19(약 3개월)

Mission1: Coursera 강의 수료

-앤드류 응(Andrew Ng) 교수님의 딥러닝 특화과정(Deep Learning Specialization) 코스를 수강하였습니다.

Coursera 강의를 수강하다보면 가끔씩 한글자막이 이상하거나 없는 경우가 있었습니다.
DeepLearningAI Youtube 또는 boostcourse의 한글자막을 이용할 때도 있었습니다.

  • Course1: Neural Networks and Deep Learning
  • Course2: Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization
  • Course3: Structuring Machine Learning Projects
  • Course4: Convolutional Neural Networks
  • Course5: Sequence Models
    강의 들으면서 머신러닝에 대해 전반적인 기초지식을 배웠습니다.

수료증 TIP: 모든 Course를 다 듣고 최종 Course 수료증 받으시려면 신분증 인증하셔야 합니다.

Mission2: Kaggle Tabular playground series 제출 or Competition 상위 25%

매 달마다 Kaggle Tabular playground series가 열립니다.
빅데이터 분석기사 실기 공부하면서 배운 지식으로 TPS를 제출하였습니다.
참고 사이트: DataMamin , Big Data Certification KR
참고 서적: 위키독스, 더북, 파이썬 머신러닝 완벽 가이드, 핸즈온 머신러닝, 파이썬 라이브러리를 활용한 머신러닝

Mission3: Certification 취득

  1. Tensorflow Certification
  2. GCP Professional Data Engineer certification
  3. GCP Professional ML Engineer certification

위와 같이 3가지 자격증 중 하나를 취득해야하는 데
Laurence Moroney의 TensorFlow Developer Professional Certificate 강의 제공을 지원하고
Tensorflow에 대해 공부하고 싶어서 Tensorflow Certification을 선택하였습니다.
TF강의 Github

저는 Colab에서 무료GPU 환경에서 문제를 풀어 model을 만든 뒤 h5 파일을 download 해서 시험에 제출하였습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tensorflow as tf
from tensorflow.python.keras.callbacks import ModelCheckpoint
from google.colab import files

### 시험을 치룰 때 유용한 코드
checkpoint_path = 'mymodel_checkpoint.ckpt'
# 학습중인 모델 자동으로 저장
checkpoint = ModelCheckpoint(filepath=checkpoint_path,
save_weights_only= True,
save_best_only=True,# 검증 세트 손실이 기존의 최고 성능 모델에 비해 낮아질때만 저장
monitor='val_loss',
verbose=1)

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

model.fit(X_train, y_train, validation_data=(X_test, y_test, callbacks=[checkpoint], epochs=10)
model.load_weights(checkpoint_path) # model 가중치 저장

model = solution_model()
model.save("mymodel.h5")
files.download("mymodel.h5") # model 파일 다운로드

Tensorflow 튜토리얼 > Tensorflow 시험접수 > Tensorflow 시험 가이드 > Tensorflow 시험환경 Setting하기

UDACITY Tensorflow 자격증 강의

Intro to TensorFlow for Deep Learning 무료 강의
Udacity Class Materials Notion
출처: 소소한블로그

  • 응시료 : $100 (해외 결제가 가능한 카드)
  • 시험 시간 : 300분
  • 시험 유형 :
    • Category 1: Basic / Simple model
    • Category 2: Model from learning dataset
    • Category 3: Convolutional Neural Network with real-world image dataset
    • Category 4: NLP Text Classification with real-world text dataset
    • Category 5: Sequence Model with real-world numeric dataset
      출처 : 테디노트
  • 시험 환경 : 인터넷이 연결되어 있는 어디에서나 가능
  • IDE : PyCharm에 시험용 Plugin(TensorFlow Developer Certificate) 설치 ( Communiy 버전도 가능)
  • 시험 준비물 : 여권이나 영문 운전면허증 또는 주민등록증, 셀카
  • 재응시 기간
    1번째 불합격 시, 14일 이후 재응시 가능
    2번째 불합격 시, 2개월 이후 재응시 가능
    3번째 불합격 시, 1년 이후 재응시 가능
  • 합격점수 : 총 100점 만점에 90점 이상
  • 결과발표 : 응시자가 시험 제출 시 채점 과정을 거쳐 응시자 포털에 점수 게시. 시험 합격 후에는 등록된 이메일 주소로 인증서가 발송
    (영업일 기준 10일 이내)
  • 인증서 유효기간 : 36개월
    Google Developers Certification에서 합격자를 볼 수 있습니다.

Tech Talk & Office Hour & Resume Clinic & Mentoring 등

[출처: Google Developers 국문 블로그]

매주 진행되는 회사별 Tech Talk, Office Hour을 하면서
현업에서 어떤 Machine Learning을 사용하는지 설명해주셨습니다.
또한 사전질문을 하여 좋은 답변을 얻을 수 있었고 Office Tour가 진행되는 회사도 있었습니다.
Resume Clinic, Mentoring을 통해서 이력서를 어떻게 작성하고 어떤 방향으로 준비해야할지 알았습니다.

Google Machine Learning Goods

미션을 수행하는데 힘이 되준 Gifts
잘쓰겠습니다~ 너무 예뻐요 😍
질문하면 친절하게 답변주신 구글 머신러닝 부트캠프 순선님, 누리님과 참가자분들 모두들 감사합니다!

Gift Gift Gift Gift

Google Machine Learning Bootcamp 시작하기전에 하면 좋았을 점

  • Python 자료구조 및 알고리즘 공부
    추천강의: 한국외대 신찬수 교수님 Youtube
  • 코딩테스트 준비
    추천사이트: 백준, 프로그래머스, LeetCode
  • 영어 공부
    AMA(Ask Me Anything) session with Kevin Murphy을 하였을 때 영어공부를 더 열심히 해야 겠다고 생각했습니다.
    영어를 잘했더라면 질문도 했을텐데…ㅠㅠ 말씀하시는 속도도 빨라서 순간 멍때리면 알아듣지 못하는 경우도 있었다😢

한줄평

Google Machine Learning Bootcamp 수료가 끝이 아니라 Machine Learning 시작이다🏃‍♀️🏃‍♂️🏃

big-O

date: 2022-09-20 23:26:03
Big O notation
Big Ω notation/ Big θ notation
Big O notation

시간 복잡도(점근적 실행 시간, asymptotic runtime)

  • O(big-O): 시간의 상한
    배열의 모든 값을 출력하는 알고리즘은 O(N)으로 표현할 수 있지만
    O(N^3),O(N^2),O(2^N)도 옳은 표현이다.
    다시 말하자면 알고리즘의 수행 시간은 적어도 이들 중 하나보다 빠르기만 하면 된다.

  • Ω (big-Omega): 시간의 하한
    배열의 모든 값을 출력하는 알고리즘은 Ω(N) 뿐만 아니라 Ω(logN) 혹은 Ω(1)로도 표현할 수 있다.결국, 해당 알고리즘은 Ω 수행 시간보다 빠를 수 없게 된다.

  • θ (big-theta): 딱 맞는 수행 시간
    θ는 O와 Ω 둘 다 의미한다. 즉, 어떤 알고리즘의 수행시간이 O(N)이면서 Ω(N)이라면, 이 알고리즘의 수행 시간을 θ(N)로 표현할 수 있다.

공간 복잡도

  • 사용하는 스택 공간 또는 공간 복잡도 계산에 포함된다.
  • 함수들이 호출 스택에 동시에 존재하지 않으면 계산에 포함되지 않는다.

  1. 상수항은 무시하라
    O(N) = O(2N)
  2. 지배적이지 않은 항은 무시하라
    O(N^2) = O(N^2 + N)
  3. 여러 부분으로 이루어진 알고리즘: 덧셈 vs 곱셈
  • O(A+B)
    만약 알고리즘이 “A 일을 모두 끝마친 후에 B일을 수행하라”의 형태라면 A와 B의 수행 시간을 더해야 한다.
  • O(A*B)
    만약 알고리즘이 “A 일을 할 떄마다 B 일을 수행하라”의 형태라면 A와 B의 수행시간을 곱해야 한다.

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment