본문 바로가기

인공지능/Machine Learning14

[Machine Learning] 계층적군집 Hierarchical Clustering 📝머신러닝 K-Hierarchical Clustering ※ 언수퍼바이즈드 러닝에 y 는 없다 X 값만 필요 import scipy.cluster.hierarchy as sch from sklearn.cluster import AgglomerativeClustering dendrogram() : 댄드로그램 그래프를 만들어 최적의 클러스터 갯수를 확인 sch.dendrogram(sch.linkage(X, method= 'ward')) # method= 'ward' 연결시켜줄때 방식 plt.title('Dendrogram') plt.show() AgglomerativeClustering() hc = AgglomerativeClustering(n_clusters= 5) # n_clusters= 댄드로그램 그래.. 2022. 12. 5.
[Machine Learning] 평균군집 K-Means Clustering 📝머신러닝 K-Means Clustering ※ 언수퍼바이즈드 러닝에 y 는 없다 X 값만 필요 from sklearn.cluster import KMeans kmeans() : n개의 그룹을 만들어 분류한다 (비슷한 특징을 갖는 것들끼리 묶는다) # 변수에 저장하여 사용 kmeans = KMeans(n_clusters= 3, random_state=2) # n_clusters= 그룹의 갯수 지정 kmeans = KMeans(n_clusters= 3, random_state=2) # 학습이 아닌 예측을 시킨다 y_pred = kmeans.fit_predict(X) # 예측한 데이터는 새로운 컬럼에 저장해 활용 df['Group'] = y_pred # ex1) 그룹이 3인사람 가져오기 group3 = df.. 2022. 12. 5.
[Machine Learning] RandomForestClassifier 인공지능 실제 예측해보기 📝머신러닝 RandomForestClassifier으로 만든 인공지능 실제 예측해보기 예측할 값 데이터를 df 컬럼의 순서대로 입력(예측할 값 제외)한 리스트를 넘파이 어레이로 생성한다 생성한 데이터는 1차원 데이터이기 때문에 2차원으로 변경한다 reshape 인공지능 만들때 기존에 만들었던 변수 scaler_X에 transform() 함수를 사용해 피처스케일링 해준다 만들어두었던 인공지능 classifier변수에 predict() 함수를 이용해 값을 예측한다 # 예측할 값에 필요한 데이터를 넘파이 어레이로 생성후 변수에 저장 >>> new_data = np.array([35, 45000]) # 생성한 변수를 2차원 데이터로 변경 >>> new_data = new_data.reshape(1,2) # 기존.. 2022. 12. 2.
[Machine Learning] 분류예측 RandomForestClassifier 📝머신러닝 RandomForestClassifier (Decision Tree 개선한 모델) from sklearn.ensemble import RandomForestClassifier RandomForestClassifier() # 변수에 저장하여 사용 classifier = RandomForestClassifier( n_estimators=200 ) # n_estimators= 트리 갯수 지정(디폴트값 100) classifier = RandomForestClassifier() # 학습, 테스트 classifier.fit(X_train, y_train) y_pred = classifier.predict(X_test) # 예측 from sklearn.metrics import confusion_matr.. 2022. 12. 2.
[Machine Learning] 분류예측 Decision Tree 📝머신러닝 Decision Tree from sklearn.tree import DecisionTreeClassifier DecisionTreeClassifier() 분할과 가지치기 과정을 반복 트리 기반의 분류 규칙을 만든다 # 변수에 저장하여 사용 classifier = DecisionTreeClassifier(random_state=) classifier = DecisionTreeClassifier() # 학습, 테스트 classifier.fit(X_train, y_train) y_pred = classifier.predict(X_test) # 예측 from sklearn.metrics import confusion_matrix, accuracy_score confusion_matrix(y_test.. 2022. 12. 2.
[Machine Learning] 성능향상 GridSearchCV() 📝머신러닝 그리드서치 from sklearn.model_selection import GridSearchCV 파라미터의 값을 리스트로 입력하면 값에 대한 경우의 수마다 예측성능을 측정 평가하여 비교해 최적의 값을 찾는다 ※ 홈페이지 참고(https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html) # 사용할 조합(리스트) 생성 param_grid = { 'kernel' : ['liner', 'rbf', 'ploy'], 'C' : [0.1, 1, 10], 'gamma' : [0.01, 0.1, 1] } # 인공지능 입력 / 사용할 조합(리스트변수)입력 grid = GridSearchCV( SVC(), .. 2022. 12. 2.
[Machine Learning] 분류예측 Support Vector Machine 📝머신러닝 Support Vector Machine from sklearn.svm import SVC SVC(Support Vector Classification) # 변수에 저장하여 사용 # kernel='linear' or 'rbf' classifier = SVC(kernel='linear') classifier = SVC(kernel='rbf') classifier = SVC(kernel='linear', random_state=1) # 학습, 테스트 classifier.fit(X_train, y_train) y_pred = classifier.predict(X_test) # 예측 from sklearn.metrics import confusion_matrix, accuracy_score confu.. 2022. 12. 2.
[Machine Learning] 분류예측 K-Nearest Neighbor(K-NN) 📝머신러닝 K-Nearest Neighbor(K-NN) from sklearn.neighbors import KNeighborsClassifier KNeighborsClassifier() : 가장 가까운 n개 데이터(이웃데이터)로 분류 # 가장 가까운 n개 데이터로 분류 classifier = KNeighborsClassifier(n_neighbors= n) # n_neighbors= 몇개의 데이터로 분석할건지 입력(이웃갯수) 디폴트값은 5 classifier = KNeighborsClassifier() classifier.fit(X_train, y_train) y_pred = classifier.predict(X_test) from sklearn.metrics import confusion_matrix.. 2022. 12. 2.
[Machine Learning] 성능측정 confusion_matrix() 📝머신러닝 인공지능 confusion_matrix 성능측정 from sklearn.metrics import confusion_matrix, accuracy_score confusion_matrix(실제값, 예측값) : 실제값과 예측값을 행, 열로 셋팅해서 결과값 반환 accuracy_score(실제값, 예측값) : 정확도값 반환 # 실제값, 예측값을 입력하면 결과값 반환 confusion_matrix(y_test, y_pred) # 실제값, 예측값 입력하면 결과값(정확도값) 반환 accuracy_score(y_test, y_pred) classification_report() # 실제값, 예측값 입력 print (classification_report(y_test, y_pred)) 시각화는 heatma.. 2022. 12. 2.
[Machine Learning] 분류예측 LogisticRegression 📝머신러닝 로지스틱 리그레이션 모델링하기 from sklearn.linear_model import LogisticRegression LogisticRegression() # 변수에 저장해서 사용한다 classifier = LogisticRegression(random_state=1) # random_state= 시드값 # 학습용과 테스트용으로 나눴던 데이터중 학습용 데이터를 입력해 학습시킨다 classifier.fit(X_train, y_train) classifier.coef_ : 셋팅된 a값을 반환 classifier.intercept_ : 셋팅된 b값을 반환 이렇게 학습이 끝나면 이 인공지능을 테스트 해봐야 한다(테스트용 데이터인 X_test로 테스트) classifier.predict(테스트값 .. 2022. 12. 1.