| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- DataFrame
- len()
- 덴드로그램
- 분류 결과표
- 최댓값
- nan
- Machine Learning
- count()
- Dictionary
- 최솟값
- list
- sklearn
- Python
- insert()
- data
- numpy
- DataAccess
- del
- matplotlib
- function
- IN
- 반복문
- hierarchical_clustering
- append()
- analizer
- wcss
- string
- pandas
- dendrogram
- elbow method
- Today
- Total
목록Machine Learning (10)
개발공부
Grid Search 우리가 지정해준 잠재적 Parameter 들의 후보군 조합중에서 가장 최적의 조합을 찾아준다. sklearn 라이브러리에서 이를 제공해 주고 있어 쉽게 사용 가능하다. 예제 from sklearn.model_selection import GridSearchCV 우리는 Support Vector Machine 방식을 사용하겠다. # 파라미터의 조합으로 사용할 값들을 설정해준다. param_grid = { 'C' : [0.1, 1, 10, 100], 'kernel' : ['linear', 'rbf', 'poly'], 'gamma' : [1, 0.1, 0.01]} # estimator : classifier, regressor, pipeline 등 가능 # refit : True가 디폴트..
https://mscha.tistory.com/74 Multiple Linear Regression 실습 예제 아래처럼, 여러개의 features 를 기반으로, 수익을 예측하려 한다. 위와 같이, 여러개의 변수들을 통해, 수익과의 관계를 분석하고 이를 통해, 새로운 데이터가 들어왔을 때, 수익이 어떻게 될 mscha.tistory.com 위에서 만든 인공지능을 이용해 신규 데이터 예측을 해보자. df.head() R&D Spend = 220000, Administration = 190000, Maketing Spend = 500000이고, State = Florida 일 때 Profit을 예측하는 경우를 구해보자. 1. 일단 넘파이 어레이로 새로운 데이터를 만든다. new_data = np.array (..
분류 결과표 (Confusion Matrix) 타겟의 원래 클래스와 모형이 예측한 클래스가 일치하는지를 갯수로 센 결과를 표로 나타낸 것 정답 클래스는 행(row)으로 예측한 클래스는 열(column)로 나타낸다. 두개의 클래스로 분류할 때 이진 분류 결과표(Binary Confusion Matrix) 클래스가 0과 1 두종류 밖에 없는 이진 분류의 경우 일반적으로 클래스 이름을 양성(Positive)과 음성(Negative)로 표시한다. sklearn 라이브러리를 이용한 confusion metrix >>> from sklearn.metrics import confusion_matrix, accuracy_score, classification_report #정답 라벨인 y_test와 학습한 결과로 얻은..
아래처럼, 여러개의 features 를 기반으로, 수익을 예측하려 한다. 위와 같이, 여러개의 변수들을 통해, 수익과의 관계를 분석하고 이를 통해, 새로운 데이터가 들어왔을 때, 수익이 어떻게 될 지를 예측하고자 한다. 아래는 하나의 변수일때와, 여러개의 변수가 있을때의 linear regression 을 나타낸다. 2차원에서는 선 이지만, 3차원에서는 평면이 된다. 그후 오차가 가장 적을 때 b 값들을 찾으면 된다. 아래 데이터로 실습해보자. # 어떤 신생 회사의 데이터가 있으면, 그 회사가 얼마의 수익을 낼 지 예측해보기 df = pd.read_csv('data/50_Startups.csv') df.head() # 1.NaN 처리 >>> df.isna().sum() R&D Spend 0 Adminis..
이제 앞서 만들었던 데이터들을 Training용과 Test용으로 나눠보자. >>> from sklearn.model_selection import train_test_split # test_size는 0 ~ 1 으로 설정할 수 있고, test용 데이터의 비율을 설정할 수 있다. # random_state는 random.seed와 같은 역할 >>> X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=3 ) >>> X_train array([[1. , 0. , 0. , 0.34782609, 0.28571429], [0. , 1. , 0. , 1. , 1. ], [0. , 0. , 1. , 0.4782608..
Feature Scaling - 서로 다른 별수의 값 범위를 일정한 수준으로 맞추는 작업이다. - 변수 값의 범위 또는 담위가 달라서 발생 가능한 문제를 예방할 수 있다. - 머신러닝 모델이 특정 데이터의 편향성을 가지는 것을 방지할 수 있다. - 데이터 범위 크기에 따라 모델이 학습하는 데 있어서 bias가 달라질 수 있으므로 - 하나의 범위 크기로 통일해주는 작업(Feature Scaling)은 필요할 수 있다. Feature Scaling의 2가지 방법 표준화(Standardisation) - 평균을 기준으로 얼마나 떨어져 있느냐? 같은 기준으로 만드는 방법 - 음수도 존재, 데이터의 최대최소값 모를때 사용. 앞서 하던 데이터로 실습해보자. 위와 같이 df의 Age, Salary 컬럼의 값들은 같은..
데이터 분리하기 #1 과 #2에서 우리는 X와 y를 구했다. 우리는 컴퓨터에게 학습을 시켜야 하기 때문에 숫자가 아닌 데이터중에, 카테고리컬 데이터로 판단되는 데이터는 숫자로 바꿔주는 작업이 필요하다. X의 Country와 y의 데이터가 카테고리컬 데이터인지 확인하고 이를 숫자로 바꿔주는 작업을 해보겠다. >>> X['Country'].nunique() 3 >>> sorted (X['Country'].unique()) ['France', 'Germany', 'Spain'] Country의 데이터들은 ['France', 'Germany', 'Spain']로만 이루어진 카테고리컬 데이터라는 것을 확인할 수 있다. 이를 숫자로 바꾸는 방법 두가지를 알아보자. 1. Label Encoding (레이블 인코딩) ..
https://mscha.tistory.com/68 [Machine Learning] 데이터 분리하기 #1 Nan처리하기 학습을 위해 데이터를 Train과 Test 영역으로 나눠보자. 아래와 같은 데이터 프레임이 있다. 먼저 해당데이터에 Nan이 있으면 나중에 학습을 하는데 문제가 발생하니 여러가지 방법으로 Nan을 처리 mscha.tistory.com 데이터 분리하기 #1 에서 Nan을 dropna()하는 방식으로 데이터프레임을 가공하여 아래와 같은 df를 얻었다. 우리가 원하는 것은 Country, Age, Salary에 따라 Purchased가 Yes인지 No인지를 예측하는 것이다. Country, Age, Salary를 학습데이터 X Purchased를 그에 따른 레이블 y로 만들어 보겠다. X ..
학습을 위해 데이터를 Train과 Test 영역으로 나눠보자. 아래와 같은 데이터 프레임이 있다. 먼저 해당데이터에 Nan이 있으면 나중에 학습을 하는데 문제가 발생하니 여러가지 방법으로 Nan을 처리해야 한다. 먼저 데이터에 Nan이 있는지 확인해보자. >>> df.isna().sum() Country 0 Age 1 Salary 1 Purchased 0 dtype: int64 Age 컬럼과 Salary에 각 1개의 Nan이 있는 것을 확인할 수 있다. 이를 처리 해보자. Nan이 있는 행 삭제 dropna() df = df.dropna() df dropna()를 해서 Nan이 있는 행을 삭제할 수 있다. Nan을 각 컬럼의 평균 값으로 변경 df[ 컬럼명 ].fillna( df[ 컬럼명 ].mean()..
머신러닝의 이해 머신러닝의 세분화 머신러닝은 크게 supervised와 unsupervised로 나눌 수 있다. supervised는 예를 들어 동물 사진을 주면 동물의 종을 맞추는 프로그램을 만든다고 할 때, 우리는 이를 학습 시키기위해 동물의 사진 데이터와 그에 매핑되는 동물의 종 데이터가 필요하다. 위와 같이 데이터와 그에 매핑되는 레이블이 있는 데이터를 학습시키는 것을 supervised라고 한다. unsupervised는 반대로 label이 없는 데이터를 가지고, 특정 기준에 따라 Clustering(군집) 하는 것이다. supervised는 또 Classification과 Prediction으로 나눌 수 있다. Classification은 데이터를 가지고 결과가 분류된 것들중 어떤것인지 구분하..