파이썬 머신러닝 가이드 책을 참고하였습니다. ● 붓꽃 데이터 로딩하기 import pandas as pd from sklearn.datasets import load_iris # 붓꽃 데이터 불러오기 iris = load_iris() # iris.data는 데이터 세트에서 피처만으로 된 데이터를 NUMPY로 가지고 있음 iris_data = iris.data # iris.target은 데이터 세트에서 레이블 데이터를 NUMPY로 가지고 있음 iris_label = iris.label iris_df = pd.DataFrame(data=iris_data, columns=iris.feature_names) iris_df['label'] = iris.target 추가적으로 * iris.target_names는 ..
컴퓨터가 읽을 수 있게 문자열 데이터를 숫자형 데이터로 바꿔주어야 한다. 여기서 우리는 각 문자열 데이터를 표현할 수 있게 범주형 데이터로 변환시킨다 1) 레이블 인코딩 from sklearn.preprocessing import LabelEncoder for col in ['Title','AgeBin']: encoder = LabelEncoder() data[col] = encoder.fit_transform(data[col]) data.loc[:,['Title','AgeBin']].head() * sklearn LabelEncoder를 불러와 LabelEncoder 객체를 만든다. * fit_transform 함수를 사용하여 각 열의 데이터(문자열)에 적용한다. * 각 열의 속하는 범주의 개수만큼 숫..
SVM (support vector machine) 각 피처(열) 벡터들이 고유의 축을 갖는 벡터 공간을 이룬다고 가정한다. 모든 데이터를 벡터 공간 내의 좌표에 점으로 표시하고, 각 데이터가 속하는 목표 클래스별로 군집을 이룬다고 생각한다. (1) 모델 학습 # 모델 학습 from sklearn.svm import svc svc = SVC(kernel='rbf') svc.fit(x_train, y_train) * SVM 알고리즘이 구현된 사이킷런 svm 모듈을 이용한다. * 분류 모델일 SVC 객체를 생성하여 모델을 학습시킨다. 커널(kernel)은 데이터를 벡터 공간으로 매핑하는 함수를 말한다. (2) 예측 y_svc_pred = svc.predict(x_test) * KNN 알고리즘과 똑같이 pre..
KNN ( K-Nearest-Neighbors)예측하려는 데이터 X가 주어지면, 기존 데이터 중 속성이 비슷한 K개의 이웃을 먼저 찾는다. 다시 말해 데이터 X를 둘러싼 K개의 가장 가까운 이웃을 찾고, 이웃 데이터가 가장 많이 속해 있는 목표 클래스를 예측값으로 결정한다.(1) 모델학습# sklearn 라이브러리에서 KNN 분류 모형 가져오기from sklearn.neighbors import KNeighborsClassifierknn = KNeighborsClassifier(n_neighbors=7)knn.fit(x_train, y_train)* n_neighbors 옵션으로 k값을 지정한다. * KNeighborsClassifier() 함수로 KNN모형 객체를 생성한다.* fit() 메소드에 훈..
Series¶ 시리즈 만들기 (딕셔너리, 리스트)¶ In [2]: # 판다스 불러오기 import pandas as pd # key:value 쌍으로 딕셔너리 만들고, 변수 dict_data에 저장 dict_data = {'a':1,'b':2,'c':3} # series()함수로 dictionary를 series로 변환 sr = pd.Series(dict_data) print(type(sr)) print('\n') print(sr) a 1 b 2 c 3 dtype: int64 In [4]: list_data = ['2019-01-02', 3.14,'abc',100,True] sr = pd.Series(list_data) print(sr) 0 2019-01-02 1 3.14 2 abc 3 100 4 Tru..
이것이 코딩테스트다 with 파이썬 참고자료선택정렬데이터가 무작위로 여러개 있을 때, 이 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정을 반복한다.array = [7,5,9,0,3,1,6,2,4,8]for i in range(len(array)): # 첫 번째 위치부터 작은 데이터 순으로 정렬시킨다 min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_index], array[i]print(array)삽입정렬..
두 원의 교점의 개수를 구하는 문제 코드 import math t = int(input()) for _ in range(t): x1,y1,r1,x2,y2,r2 = map(int,input().split()) distance = math.sqrt((x1-x2)**2 + (y1-y2)**2) if distance == 0 and r1 == r2 : print(-1) elif abs(r1-r2) < distance < r1+r2 : print(2) elif distance == r1+r2 or distance == abs(r1-r2) : print(1) else: print(0) import math math.sqrt() 는 제곱근을 구해주는 함수이다. abs()는 절대값을 구해주는 함수 (1) 위치의 개수 ..