본문 바로가기

머신러닝

(11)
[Deep Learning]딥러닝 CNN 활용하여 이미지 분류 정확도 높이기(Convolution,Pooling) CNN은 Convolutional Neural Network의 약자이다. 이는 주로 이미지 인식 및 분류에 사용되는 딥러닝 모델이다. CNN은 이미지의 특징을 자동으로 추출하고 학습하는 데 특화되어 있다. 1.Convolution Convolution(합성곱)은 두 함수를 결합하여 세 번째 함수를 만드는 연산이다. 간단히 말하면 합성곱은 입력 데이터를 스캔하면서 주어진 패턴을 찾아내거나 데이터를 처리하는 작은 필터이다. 아래의 첫번째 사진은 이어진 선끼리 각 곱연산을 해준 후 전부 합해준 결과 값을 Feature Map 왼쪽 위에 놓여진 것을 볼 수 있다. 두번째 사진또한 각 자리끼리 곱연산 후 결과 값을 Feature Map에 차례대로 놓는다. 2.Pooling Pooling(풀링)은 합성곱 신경망(C..
[Machine Learning]머신러닝Unsupervised의Hierarchical Clustering Hierachical Clustering 계층적 군집화 -계층적 트리 모형을 이용해 개별 개체들을 순차적, 계층적으로 유사한 개체 내지 그룹과 통합하여 군집화를 수행하는 알고리즘 - K-means Clustering과 달리 군집 수를 사전에 정하지 않아도 학습을 수행할 수 있다. - Dendrogram 이용 Dendrogram 덴드로그램 - 개체들이 결합되는 순서를 나타내는 트리형태의 구조 - 적절한 수준에서 트리를 자르면 전체 데이터를 몇개 군집으로 나눌 수 있게 된다. 1.na가 있는지 확인 df.isna().sum() 했을때 모두 0이 나와 na 없음 2.X데이터 분리 Unsupervised이므로 X데이터만 분리한다. X = df.iloc[ : , 1: ] 3.Label Encoding from s..
[Machine Learning]머신러닝Unsupervised의K-Means Clustering K-Means Clustering K-Means Clustering은 비지도 학습 알고리즘으로, 데이터를 그룹화(클러스터링)하는데 사용된다. K-Means Clustering 순서 데이터 준비: 우리는 각 데이터 포인트의 위치를 나타내는 좌표를 갖고 있다.. K 설정: K-Means Clustering을 시작하기 전에 클러스터의 수 K를 정해야 한다. 여기서는 우리가 2개의 그룹으로 나누고 싶다고 가정한다. 중심 초기화: 무작위로 두 개의 점(중심)을 선택하여 각각의 그룹의 중심점으로 설정한다. 할당 단계: 각 데이터 포인트를 가장 가까운 중심에 할당한다. 이를 위해 일반적으로 유클리드 거리 등의 거리 측정 방법을 사용한다. 갱신 단계: 각 그룹의 중심을 해당 그룹에 속한 데이터 포인트들의 평균으로 업데..
[Machine Learning]머신러닝의 Decision Tree 알고리즘 Decision Tree Decision Tree는 데이터를 분류하거나 예측하는 모델 중 하나 Decision Tree 알고리즘을 이용하여 코드를 작성해보자 1.X, Y 데이터 분리 y = df['Purchased'] X = df.loc[ : , ['Age','EstimatedSalary']] 2. Feature Scaling from sklearn.preprocessing import StandardScaler scaler_X = StandardScaler() X = scaler_X.fit_transform(X) 3.Dataset을 Training 용과 Test용 나누기 from sklearn.model_selection import train_test_split X_train, X_test, y_tr..
[Machine Learning]머신러닝의 Support Vector Machine(SVM)알고리즘 SVM이란? Support Vector Machine(SVM)은 데이터를 분류하기 위한 지도학습 알고리즘 중 하나이다. 주어진 데이터를 가장 잘 나누는 초평면(hyperplane)을 찾는 것이 SVM의 목표이다. 이를 통해 데이터를 분류하거나 회귀하는 데 사용될 수 있다. 1. SVC의 작동 원리 1.X, Y 데이터 분리 y = df['Purchased'] X = df.loc[ : , ['Age','EstimatedSalary']] 2. Feature Scaling from sklearn.preprocessing import StandardScaler scaler_X = StandardScaler() X = scaler_X.fit_transform(X) 3.Dataset을 Training 용과 Test용..
[Machine Learning]머신러닝의 KNN 알고리즘(K-Nearest Neighbor) KNN의 알고리즘의 개념은 모두 숙지되었다. 이제 아래 데이터베이스를 KNN알고리즘으로 코드를 작성해보자. 1.X, Y 데이터 분리 y = df['Purchased'] X = df.loc[ : , ['Age','EstimatedSalary']] 2. Feature Scaling from sklearn.preprocessing import StandardScaler scaler_X = StandardScaler() X = scaler_X.fit_transform(X) 3.Dataset을 Training 용과 Test용 나누기 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test =train_test_spli..
[Machine Learning]머신러닝의Confusion Matrix 및accuracy_score 사용 Confusion Matrix 실제 Negative (음성) 클래스를 예측한 Negative (음성) 클래스와 Positive (양성) 클래스로 분류한 경우: True Negative (TN) 실제 Negative (음성) 클래스를 예측한 Positive (양성) 클래스로 잘못 분류한 경우: False Positive (FP) 실제 Positive (양성) 클래스를 예측한 Positive (양성) 클래스와 Negative (음성) 클래스로 분류한 경우: True Positive (TP) 실제 Positive (양성) 클래스를 예측한 Negative (음성) 클래스로 잘못 분류한 경우: False Negative (FN) Confusion Matrix를 보면 모델이 어떤 클래스를 얼마나 정확하게 분류했는지..
[Machine Learning]머신러닝의 로지스틱 회귀(Logistic Regression) #X와 y를 분리한다 y = df['Purchased'] => 물건을 구매할지 안할지의 정보를 y에 저장 X= df.iloc[ :, 2:3+1 ] => 나머지 데이터를 X에 저장한다 # 로지스틱 리그레션은, 피쳐 스케일링을 하자!! 정규화 OR 표준화를 해줌으로써 피쳐 스케일링을 해주도록 한다. 그다음 Test용과 Traing 용을 따로 만들어 주어 변수에 저장해준다 LogisticRegression은 위에 과정대로 입력을 받아서 해당 데이터가 어느 클래스에 속할 확률을 예측해주는 방법이다