본문 바로가기

분류 전체보기55

C++ string 문자열 C++ 문자열은 C에서 몇가지 편리하게 추가된다. 1. substr 함수 (부분 문자열 가져오기)2. find 함수 (문자열 검색) 3. erase 함수 (문자열의 일부 제거)4. 문자열 길이와 이어 붙이기 string s1 {"This is a test"};//substrcout  substr(start, length)는 문자열의 특정 부분을 추출합니다.start: 시작 위치 (0부터 시작).length: 추출할 문자 개수.예: s1.substr(5,2)는 인덱스 5에서 시작해서 2개의 문자를 추출하여 "is"를 반환합니다. find(substring)은 특정 문자열의 시작 위치를 반환합니다.예: "This"는 인덱스 0부터 시작하므로 0을 반환."is"는 첫 번째로 발견된 위치인 인덱스 2를 반환.".. 2025. 1. 9.
C++ Range-based for Loop 신기하기도 하고 혁명인 것 같다vector temps {87.2, 77.1, 80.0, 72.5};double average_temp {};double running_sum {};for (auto temp : temps) running_sum += temp;average_temp = running_sum / temps.size();autofor (auto c : "Frank") cout examplevector temperatures{ 87.9, 77.9, 80.0, 72.5 };double average_temp{};double total{};for (auto t : temperatures) total += t;average_temp = total / temperatures.size();cout 2025. 1. 9.
C++ 벡터 벡터를 사용해 보자.#include #include using namespace std;Initializingvector vowels {'a', 'e', 'i', 'o', 'u'};vector test_scores (10); //배열과 달리 0으로 다 초기화 시작Accessing vector elementsvector_name.at(번호)vowels.at(1)test_scores.at(4) = 90;Addvector_name.push_back(요소);test_scores.push_back(80); // 맨 뒤에 추가, 알아서 동적할당 됨!2D-vector vector > movie_ratings { {1,2,3,4}, {3,4,5,6}, {4,5,6,7} }; cout 2025. 1. 9.
C, C++ 차이 배열, 입출력 배열 선언//C언어int arr1[5] = {1, 2}; // 첫 번째와 두 번째 요소는 1, 2로 초기화, 나머지는 0int arr2[5] = {0}; // 모든 요소를 0으로 초기화//C++int arr1[5] = {1, 2}; // 첫 번째와 두 번째 요소는 1, 2로 초기화, 나머지는 0int arr2[5] = {0}; // 모든 요소를 0으로 초기화int arr2[5] = {}; // 모든 요소를 0으로 초기화 (C++에서 가능)int arr2[5] {}; // 모든 요소를 0으로 초기화 (C++에서 가능) 입출력//C언어printf("Enter two numbers: ");scanf("%d %d", &a, &b); // 사용자로부터 두 정수를 입력받음p.. 2024. 12. 30.
[핸즈온 머신러닝 3판] 9.비지도 학습 (군집만) 1부 9장9.비지도 학습9.1 군집9.2 가우스 혼합우와 2개밖에 없다 그 중에 한개만 한다.. 야호!! https://colab.research.google.com/github/rickiepark/handson-ml3/blob/main/09_unsupervised_learning.ipynb 09_unsupervised_learning.ipynbRun, share, and edit Python notebookscolab.research.google.com 오늘날 대부분 사용할 수 있는 데이터는 레이블이 없다. (정답이 있으면 정말 좋았겠지만..) 따라서 비지도 학습이 필요하다. 8장에서 가장 널리 사용되는 비지도 학습인 차원 축소를 살펴봤었다. (차원 축소 비지도 학습이었어?) 이제 군집, 이상치 탐지,.. 2024. 11. 24.
[핸즈온 머신러닝 3판] 8.차원 축소 1부 8장8.차원 축소8.1 차원의 저주8.2 차원 축소를 위한 접근법8.3 주성분 분석 8.4 랜덤 투영8.5 지역 선형 임베딩8.6 다른 차원 축소 기법차원 축소..라 시간여행이 이제 가능해지는건가 뭔가 호기심이 생기네요시간 축소도 있으면 좋겠다. Anyway Let's go! https://colab.research.google.com/github/rickiepark/handson-ml3/blob/main/08_dimensionality_reduction.ipynb#scrollTo=QVtMHLlAZPsZ 8.1 차원의 저주우리는 3차원 세계에 익숙하며 고차원 공간을 직관적으로 상상하기 어렵다. 사실 4차원도 뭔지 모름.... 음... 고차원 초입방체에서는 경계에 가까운 점의 비율이 매우 높아지는데,.. 2024. 11. 17.
[핸즈온 머신러닝 3판] 7.앙상블 학습과 랜덤 포레스트 1부 7장 7장 앙상블 학습과 랜덤 포레스트7.1 투표 기반 분류기 7.2 배깅과 페이스팅7.3 랜덤 패치와 랜덤 서브스페이스7.4 랜덤 포레스트7.5 부스팅7.6 스태킹뭔지 모르고 썼지만 성능이 좋았던 앙상블 기법... 오늘 한번 자세히 알아보도록 하자!!! 일단 먼저 앙상블 학습이 뭔지부터 알아야겠지? 앙상블 학습이란 여러 개의 예측 모델(예: 회귀, 분류 모델)을 결합하여 더 나은 결과를 얻는 기법으로, 다양한 알고리즘을 결합하여 사용하는 방식을 의미한다.또한 오늘 중요하게 다룰 랜덤 포레스트는 이름에서 알 수 있겠지만앙상블 학습 방법의 일종으로, 여러 개의 결정 트리를 사용하여 예측을 수행하며, 개별 트리의 예측을 결합하여 최종 예측을 만드는 것으로, 랜덤 포레스트는 오늘날 강력한 머신러닝 알고리.. 2024. 11. 9.
[핸즈온 머신러닝 3판] 5.서포트 벡터 머신 1부 6장오늘 정리할 부분은 다목적 머신러닝 모델 SVM이다. 5장 서포트 벡터 머신5.1 선형 SVM 분류5.2 비선형 SVM 분류5.3 SVM 회귀5.4 SVM 이론5.5 쌍대 문제무섭다 이름부터https://colab.research.google.com/github/rickiepark/handson-ml3/blob/main/05_support_vector_machines.ipynb 05_support_vector_machines.ipynbRun, share, and edit Python notebookscolab.research.google.com 오늘부터 코드 적는건 자제 해야겠다.. 시간도 오래걸리고 가독성도 좀 떨어지는듯,,5.1 선형 SVM 분류 위의 그림을 확인해 보자, 그러면 확인할 수 .. 2024. 11. 3.
[핸즈온 머신러닝 3판] 6.결정 트리 1부 6장아싸 중간고사가 끝났다. 끝나서 기분은 좋았지만 점수가 슬프네... 오늘 정리할 부분은 분류와 회귀 작업 그리고 디중 출력 작업까지 기능한 다목적 머신러닝 결정 트리에 관해서 입니다! 왜 5장이 아니고 6장을 하는가..? -> 6장이 짧아서...6장 모델 훈련6장 결정트리 6.1 결정 트리 학습과 시각화 6.2 예측 6.3 클래스 확률 추정6.4 CART 훈련 알고리즘6.5 계산 복잡도6.6 지니 불순도 또는 엔트로피?6.7 규제 매개변수6.8 회귀6.9 축 방향에 대한 민감성6.10 결정 트리의 분산 문제 뭔가 많아 보이지만 조금씩이라 생각보다 양은 많지 않다.  2징에서 캘리포니아 주택 가격 데이터셋을 완벽하게 맞추는 DecisionTreeRegressor 모델을 사용 했었는데 뭔가 살짝 기.. 2024. 10. 26.