전체 글307 아두이노 종합 더보기 #include //LCD #include //서브모터 #include "DHT.h" //온도센서 // #include // #include LiquidCrystal_I2C lcd(0x27, 16, 2); #define LED_RED 5 #define LED_GREEN 6 #define LED_BLUE 11 #define SERVO_PIN 8 #define PIEZO_BUZZER 3 // #define CLK 9 // #define DIO 10 #define BUTTON_1 4 #define BUTTON_2 7 #define VR_PIN A0 //가변저항 #define BRIGHT_PIN A1 //조도센서 #define DHTPIN 2 //온도센서 Servo myservo; // TM1637Tin.. 2023. 7. 31. Kaggle - Titanic 데이터로 연습하는 Pandas 02 지난 포스팅에서 drop 된 컬럼들과 로우들이 좀 있기 때문에 새로 csv에서 불러와서 다시 시작...☆ https://dev-adela.tistory.com/139 ** 판다스 Index = RDBMS의 PK ▶ 레코드를 고유하게 식별하는 객체이다. ** DataFrame.index 나 Series.index 속성을 통하면 index를 추출할 수 있는데, values 메서드를 쓰면 1차원 array로 반환해준다. ▶ 그래서 ndarray와 유사하게 사용할 수 있다. 단일 값 반환이나 슬라이싱 등등 (계속 해서 나오는 numpy와 pandas의 콜라보레이션...ㅎ) 값을 반환하거나 슬라이싱 하면서 불러올 수는 있지만 기존 우리가 알고 있는 numpy의 배열의 특성처럼 값을 다른 것으로 변경하는 것은 할 .. 2023. 7. 31. 딥러닝 CNN 구현 + 하이퍼파라미터 1 - Keras와 TensorFlow를 사용하여 CNN 구현. 1. model = Sequential() ▷ Keras에서는 먼저 모델을 관리하는 인스턴스 만들기. 2. model.add(Dense(128)) ▷ add 메서드를 사용해 모델의 층을 하나씩 추가. 전결합층은 이렇게 정의. 3. model.add(Conv2D(filters=64, kernel_size=(3,3)) ▷ 64종의 3*3필터를 입력이미지에 적용하여 128가지를 출력한다는 뜻. - 합성곱층을 이렇게 추가 4. model.add(MaxPooling2D(pool_size=(2,2)) ▷ 풀링층도 이렇게 추가 5. model.compile(optimizer=sgd, loss='categorical_crossentropy', metrics=.. 2023. 7. 31. 딥러닝 CNN + 개념정리 합성곱 > 이미지의 특징을 추출하는 역할 (필요없는 부분 날려버리고 특징이 되는 부분만 추출) - convolution operation / 층을 layer - 커널(kernel) 또는 필터 filter 필터라는 n*m - 원본이미지가 행렬로 표시되고 그보다 작은 행렬을 곱(커널/필터)을 계속 진행해가면서 합산시키는것 - kernel은 일반적으로 3*3 / 5*5를 사용함. - 저렇게 output나온게 특성맵(feature map) > 입력값보다 작아진다는 특징이 있음 -> 이것을 동일하게 유지하고 싶으면 패딩padding을 사용하면됨. ( 0으로 입혀줌, 곱으로 해도 0이나올수있게) - 이동범위를 스트라이드 stride라고 함. > original 이미지는 그대로 받은게 아니라 행렬로 받아서 변환한것 .. 2023. 7. 31. 머신러닝 scikit-learn 주요 모듈 분류 모듈명 설명 예제데이터 sklearn.datasets 내장되어 있는 예제로 제공하는 데이터 세트 피처 처리 sklearn.preprocessing 데이터 전처리에 필요한 다양한 가공 기능(정규화, 스케일링 등) sklearn.feature_selection 알고리즘에 큰 영향을 미치는 피처를 우선순위대로 셀렉션 작업을 수행하는 기능 등등을 제공 sklearn.feature_extraction 텍스트/이미지 데이터의 벡터화된 피처를 추출 텍스트는 sklearn.feature_extraction.text 모듈 이미지는 sklearn.feature_extraction.image 모듈에 API가 있음. 피처 처리& 차원 축소 sklearn.decomposition 차원 축소 관련 알고리즘 지원. PCA, .. 2023. 7. 30. 머신러닝, 지도학습과 비지도학습 간단히 fit() : 머신러닝 모델 학습을 위해 predict() : 학습된 모델의 예측을 위해 ▷ 분류(Classification)과 회귀(Regression)의 다양한 알고리즘을 구현하는 사이킷런 클래스는 이 두가지를 이용해 간단하게 학습과 예측 결과 반환 가능. ▶ 분류 알고리즘 구현한 클래스 : Classifier + 회귀 알고리즘을 구현한 클래스 : Regressor ▷ 합쳐서 Estimator 클래스 : 지도학습의 모든 알고리즘을 구현한 클래스를 통칭 cross_val_score(), evaluation 함수, GridSearchCV 등 하이퍼 파라미터 튜닝을 지원하는 클래스 : Estimator 인자로 받음. ▷ 인자로 받은 요고에 대해 이 함수 내에서 fit(), predict()를 호출해서 평가.. 2023. 7. 29. 아두이노 피에조부저/LCD/버튼 시리얼통신과 제어하기 1. 더보기 void setup(){ Serial.begin(9600); } void loop(){ if (Serial.available()>0) { String strRead = Serial.readStringUntil('\n'); if (strRead.indexOf("BUZZER=") != -1 ) { float bzFreq = strRead.substring(7, strRead.length()).toFloat(); Serial.print("Freq:"); Serial.println(bzFreq); } } } ▶ 시리얼모니터에서 입력을 받고 소수점 형태로 변환됨. 2. 더보기 #define PIEZO_BUZZER 3 void setup(){ Serial.begin(9600); } void loop().. 2023. 7. 26. 아두이노 시리얼통신으로 제어하기 더보기 String strData1 = "hello"; String strData2 = "arduino"; void setup(){ Serial.begin(9600); } void loop(){ String strData3 = strData1 + strData2; Serial.println(strData3); delay(2000); } ▶ 공백 넣으려면 이렇게 String strData3 = strData1 + " " + strData2; 더보기 String strData1 = "hello arduino"; void setup(){ Serial.begin(9600); } void loop() { if (strData1.equals("hi")==1) { Serial.println("hi를 찾았습니다.");.. 2023. 7. 25. 딥러닝 하이퍼파라미터(학습률,미니배치,반복학습) https://cs231n.github.io/neural-networks-3/#add - 가중치 갱신 : 오차 함수를 각 가중치로 미분한 값을 바탕으로 갱신해야 할 방향과 어느정도로 갱신할지 결정 ▶ 학습속도, epoch, 가중치 갱신량 등을 근거로 어떻게 반영할지 결정 - 최적화함수 = 하이퍼파라미터 - 각 층의 가중치를 한 번에 어느정도 변경할지 결정하는 하이퍼파라미터 - 손실함수에 대해 적합한 학습 속도를 설정할 필요가 있음. 가장 높은 정밀도가 나오는 학습속도를 예상하며 코드를 변경해봄. ▶ 학습률 learning rate 를 변경해봄. - 배치크기 (batch size): 한번에 전달하는 데이터 수, 이것도 하이퍼 파라미터 - 편향된 데이터가 많을 때는 배치 크기를 크게, 유사한 데이터가 많을 .. 2023. 7. 25. 이전 1 ··· 12 13 14 15 16 17 18 ··· 35 다음