인공지능/Machine Learning 11

[Machine Learning] K- 평균 군집 K-Means Clustering

Unsupervised Learning 은 y 값이 없고 x 만 필요 kmeans() : 비슷한 특징을 갖는 것들끼리 n개의 그룹을 만들어 분류 from sklearn.cluster import KMeans # 변수에 저장하여 사용 >>> kmeans = KMeans(n_clusters= 3, random_state=10) # n_clusters = 그룹의 갯수 지정 # n_clusters 의 default 값은 8 >>> y_pred = kmeans.fit_predict(X) # 학습 x, 바로 예측 # 그룹 1인 그룹 사람들에게 푸시를 보낼 것이다. 이 그룹의 데이터를 가져와라. >>> df.loc[df['Group'] == 1, ] WCSS = 적절한 그룹의 개수 기준 확립 >>> wcss = []..

[Machine Learning] 분류 예측 Decision Tree

DecisionTreeClassifier() : 분할과 가지치기 과정을 반복 트리 기반의 분류 규칙을 만든다. from sklearn.tree import DecisionTreeClassifier >>> classifier = DecisionTreeClassifier(random_state=1) >>> classifier.fit(X_train, y_train) >>> y_pred = classifier.predict(X_test) >>> y_pred array([0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0,..

[Machine Learning] 분류 예측 Support Vector Machine (SVM)

SVC(Support Vector Classification) # 변수에 저장하여 사용 >>> classifier = SVC(kernel='linear') >>> classifier = SVC(kernel='rbf') # 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed' 호출 가능 # default = 'rbf' from sklearn.svm import SVC >>> classifier = SVC() # 디폴트 값 'rbf' >>> classifier.fit(X_train, y_train) >>> y_pred = classifier.predict(X_test) >>> y_pred array([0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1..

[Machine Learning] 분류 예측 K-NN

KNeighborsClassifier() : 가장 가까운 n개 데이터(이웃데이터)로 분류 from sklearn.neighbors import KNeighborsClassifier classifier = KNeighborsClassifier(n_neighbors= n) # n_neighbors= 몇개의 데이터로 분석할건지 입력, 디폴트값은 5 >>> classifier = KNeighborsClassifier(n_neighbors=7) >>> classifier.fit(X_train, y_train) >>> y_pred = classifier.predict(X_test) >>> y_pred array([0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, ..

[Machine Learning] 성능 측정 confusion_matrix(), accuracy_score(), classification_report()

confusion_matrix(실제값, 예측값) : 실제값과 예측값을 행, 열로 셋팅해서 위와 같이 결과값 반환 from sklearn.metrics import confusion_matrix >>> cm = confusion_matrix(y_test, y_pred) >>> cm array([[52, 6], [14, 28]], dtype=int64) # 정확도 계산 : accuracy # (52+28) / cm.sum() accuracy_score(실제값, 예측값) : 정확도 계산 from sklearn.metrics import accuracy_score >>> accuracy_score(y_test, y_pred) 0.8 classification_report() : 분류 모델의 성능을 요약하는 데 ..

[Machine Learning] 분류 예측 LogisticRegression

from sklearn.linear_model import LogisticRegression LogisticRegression() # 변수에 저장해서 사용 classifier = LogisticRegression(random_state=2) # train_test_split 로 나눠둔 학습용 데이터를 입력해 학습 classifier.fit(X_train, y_train) 학습이 끝나면 인공지능을 테스트 해봐야 한다 classifier.predict(테스트값 변수) : 예측한 값을 반환(0과 1로 나온다) >>> classifier.predict(X_test) # 테스트용 데이터 X_test array([1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, ..

[Machine Learning] LinearRegression 인공지능 실제 예측

예측할 값 데이터를 df 컬럼의 순서대로 입력한 Numpy array 생성 생성한 데이터는 1차원 데이터, 때문에 2차원으로 변경 => reshape 인공지능 만들 때 기존에 만들었던 변수 ct에 transform() 함수를 사용해 문자열을 숫자로 변경 만들어두었던 regressor 변수에 predict() 함수를 이용해 값을 예측한다 >>> new_data = np.array([0, 1, 0, 130000, 150000, 400000]) >>> new_data = new_data.reshape(1, 6) >>> regressor.predict(new_data) array([165102.43212675]) # A 회사 운영비는 15만 달러, 마케팅비 40만 달러, 연구 개발비 13만 달러이고 회사 위치는..

[Machine Learning] LinearRegression 오차(error) 구하기

오차(error)란 실제값 - 예측값 (오차가 적을수록 똑똑한 인공지능) # 실제값 - 예측값 변수로 저장 error = y_test - y_pred # 저장한 변수를 제곱하고 평균을 구한다 (error ** 2).mean() >>> y_test 41 77798.83 17 125370.37 20 118474.03 45 64926.08 23 108733.99 14 132602.65 28 103282.38 47 42559.73 32 97427.84 18 124266.90 Name: Profit, dtype: float64 >>> y_pred = regressor.predict(X_test) >>> y_pred array([ 75017.13778857, 129992.67932128, 116991.8622787..