본문 바로가기
반응형

코딩25

[KT AICE] Feature Engineering Binning : 연속형 변수를 범주형 변수로 만들기 - 그룹짓기cut - 길이 기준으로 구간 나누기qcut - 개수 기준으로 구간 나누기 (원하는 개수 입력) Scaling : 숫자 데이터간의 상대적인 크기 차이를 제거하기( 대표적 예시로 정규화)  StandardScaler: 평균을 0, 표준편차를 1로 맞추어 정규화.RobustScaler: 중앙값과 IQR을 사용하여 이상치의 영향을 줄임.MinMaxScaler: 모든 특성 값을 [0, 1] 사이로 조정.MaxAbsScaler: 특성 값을 [-1, 1] 사이로 조정, 특히 음수값이 없는 경우 유용.  Label Encoding : 범주형 변수의 문자열 값을 숫자로 매핑컴퓨터는 문자열 이해를 못하기에 그에 상응하는 숫자로 전달해줘야한다. One Hot.. 2024. 11. 5.
[KT AICE] 데이터 전처리 - 결측치처리 데이터 탐색하기함수설명예시head()데이터프레임의 처음 몇 줄을 반환합니다. 기본적으로 처음 5줄을 반환합니다.df.head() Name Age Score 0 Alice 24 85 1 Bob 30 90 2 Charlie 22 88 3 David 35 95 4 Eve 29 92tail()데이터프레임의 마지막 몇 줄을 반환합니다. 기본적으로 마지막 5줄을 반환합니다.df.tail() Name Age Score 5 Frank 33 84 6 Grace 28 89 7 Helen 26 87 8 Ian 32 93 9 Jack 31 91info()데이터프레임의 요약 정보를 제공하며, 각 열의 데이터 타입과 null이 아닌 값들의 개수를 포함합니다.df.info()describe()숫자형 열에 대한 기술 통계를 생성합니.. 2024. 8. 29.
[KT AICE] Pandas 기초 - Dataframe 병합하기 concat 함수동일한 컬럼명을 가지는 데이터프레임을 단순히 합칠때 사용 - (행,열 중복 제거 안해줌) ex) pandas.concat([A,B]) 기본적으로 axis = 0인 것을 전제하고 있다. 이 경우 위아래로 합쳐짐axis=1을 준다면 옆으로 합치는 것도 가능 ignore_index = True 옵션을 준다면, 합친 데이터 프레임 index 를 초기화해서 0부터 이쁘게 출력한다. merge 함수두 dataframe의 같은 컬럼을 기준으로 합침(집합 느낌) ex) pandas.merge(A, B, how='inner', on='기준 컬럼명') inner공통된 column 기준으로 합치는 교집합 느낌left왼쪽 데이터 프레임 기준으로, 왼쪽 데이터는 모두 들어감right오른쪽 데이터 프레임 기준으로.. 2024. 8. 22.
[KT AICE] Pandas 활용 - Dataframe 변형하기 https://pandas.pydata.org/docs/user_guide/reshaping.html#stack-and-unstackGroupby범주형 컬럼을 기준으로 같은 값을 묶어 통계 또는 집계결과를 얻어 사용하는 것#Exampledataframe.groupby('성별').mean() groupby는 데이터 분할(split) > 적용(applying) > 데이터 병합(combine) 세 단계를 거쳐서 진행된다.   Pivot_tableDataFrame 형태를 변경하는 것#Examplepd.pivot_table(data=sample, index='고객ID', columns='상품코드', values='구매금액',aggfunc='mean')   stack, unstackstack : 컬럼 ➡️ 인덱스로.. 2024. 8. 18.
[KT AICE] Pandas 기초 - Dataframe 살펴보기 DataFrame 생성방법일단 pandas import 하기 import pandas as pd딕셔너리로 생성 ➡️ column 단위로 생성됨a1=pd.DataFrame({"a":[1,2,3],"b":[4,5,6],"c":[7,8,9]}) abc014712582369리스트로 생성 ➡️row 단위로 생성됨a2=pd.DataFrame([1,2,3], [4,5,6], [7,8,9],columns=['a','b','c']) abc012314562789파일을 불러서 생성df=pd.read_csv('파일명.csv')      DataFrame 조회 기초 함수들df.head데이터의 앞 5개 라인 출력(index [0:4]) df.tail데이터의 뒤 5개 라인 출력(index[n-4:n]) df.shaperow와 .. 2024. 8. 14.
[Sql] 무결성 제약조건(Integrity Constrains) Relation들은, 꼭 지켜야하는 무결성 제약조건이라는 것이 존재한다. Key Integrity Entity Integrity Referential Integrity Key Integrity Key로 구분되는 튜플들은 모두 그 값이 달라야 한다. (Key의 정의에따라) Entity Integrity Primary Key는 NULL값을 가질 수 없다. Referential Integrity 참조를 하려면 공통인 부분이 있는 attribute를 선정해야한다. 참조되는 쪽의 PK(Primary key), 참조하는 쪽은 FK(Foreign Key)라고 한다. 위 예시를 보면, Player relaltion에서 Team의 팀명을 참조한다. player.팀명 과 Team.팀명의 공통인 attribute가 있고, .. 2024. 4. 20.
[Sql] key와 super key, 좋은 Primary key의 조건 데이터 테이블을 많이 다루면서 자주 나오는 KEY 라는 용어, 정확한 정의가 뭘까? Super Key 우선, key의 상위 개념인 superkey에 대해 알아보자. Super key라는 것은 중복 튜플이 나오지 않게 하는 attribute세트이다. ⭐ 위 relation table의 예시를 보자면, superkey가 될 수 없는 것은(=중복된 튜플을 가지도록 하는 attribute 세트) {B}, {D},{F},{D,F} 이다. 저 네 집합만 제외하고는, 모든 집합은 다 superkey가 될 수 있는 것이다. {A,B,C},{A,D},{C,D,F} .... 등등 ⭐ 이제 Key 라는 것은, 이렇게 superkey의 집합들 중에서 최소성을 만족하는 것이다. 여기서 말하는 '최소성' 이란, 집합에서 하나씩 .. 2024. 4. 20.
[C++] 문자열을 정수로 바꾸기, 문자열 파싱하기 (stringstream, sstream) 오늘은 C++의 stringstream에 대해서 알아보겠습니다. C++로 코딩을 하다보면, 한 문자열을 파싱하는 경우, 또 한 문자열에서 특정 데이터타입을 추출해야하는 경우가 있습니다. 이때 sstream은 아주 유용한 라이브러리 입니다. #include 우선, sstream을 불러와야합니다. 데이터 타입 추출(변환) 다음은 정수가 공백" " 으로 구분된 문자열을 정수형태 데이터로 추출하는 예시이다. #include #include #include #include int main() { std::string input_string = "10 20 30 40 50"; std::stringstream ss(input_string); std::vector numbers; int num; while (ss >>.. 2024. 3. 24.
[C++] vector 기본 문법 및 명령어 고정 크기의 배열 : array 가변 크기의 배열 : vector 실행중에 메모리 할당. Overhead 프로그램 실행흐름에서 동떨어진 위치의 코드를 실행할 때, 추가적으로 시간, 메모리 등의 자원이 사용되는 현상 capacity vs size size = 할당 된 요소 수 capacity = 메모리에 할당 된 용량의 크기이다. 원래 초기화 했던 vector를 넘어가면, size는 length처럼 가변적으로 변한다. capacity또한 변하긴 하는데, 2배 단위로 늘어나고, pop과 같이 요소를 삭제해도 다시 줄어들지 않는다. shrink_to_fit()와 같은 함수를 사용하면 다시 줄일 수 있다. 기본 문법 및 명령어 ===참조=== v[idx] idx 번째 원소 참조 v.at(idx) idx번째 원소.. 2024. 3. 22.
[C++] 포인터 call by reference, new 연산자 오늘은 C++에서 포인터와, new 연산자 나아가서 vector 에 대해서 알아볼 것이다. 포인터 : what var point? 포인터는 말 그대로 무엇을 가르키는지 주소(위치)를 나타냅니다. 간접 참조 연산자 *을 사용하여 표현할 수 있습니다. int a = 6; //일반 변수 a int* b; //변수의 주소(위치)를 담는 포인터 변수 b b = &a; // a의 주소를 b에 대입, 이제 b는 a를 가르키는 포인터 cout 2024. 3. 20.