Exemple #1
0
    for name, group in iris_by_class:
        # print(name,len(group))
        plt.scatter(group['petal_length'], group['petal_width'], label=name)
    plt.legend()
    plt.xlabel('petal_length')
    plt.ylabel('petal_width')
    plt.show()

    # 데이터 세트를 points와 labels로 구분
    X = iris.iloc[:, :-1].to_numpy(
    )  # points /// Class 를 제외한 모든 행   // .to_numpy() 꼭 해주기
    y = iris.iloc[:, 4].to_numpy()  # labels  /// Class

    # 학습/검증(train/test) 세트로 분리
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.2)  # Ctrl + Alt  + 방향키 기능!

    # Scaling
    scaler = MyScaler()  # 생성자 호출
    scaler.fit(X_train)  # 스케일링 하기 위한 평균과 표준 편차 계산
    X_train = scaler.transform(X_train)  # 데이터 변환 (스케일링 해주는 것)
    X_test = scaler.transform(X_test)

    # k-NN 알고리즘 적용
    knn = MyKnnClassifier(n_neighbors=9)  # 분류기 객체 생성
    knn.fit(X_train, y_train)  # 학습
    y_pred = knn.predict(X_test)  # 예측
    print(np.mean(y_test == y_pred))  # 예측 결과 확인

    # Confusion Matrix 만들기
    print(confusion_matrix(y_test, y_pred))
Exemple #2
0
    plt.show()

    for name, group in iris_by_class:
        # print(name, len(group))
        plt.scatter(group['sepal_length'], group['petal_length'], label=name)
    plt.legend()
    plt.xlabel('sepal_length')
    plt.ylabel('petal_length')
    plt.show()

    # 데이터 세트를 points와 labels로 구분
    X = iris.iloc[:, :-1].to_numpy()  # points
    y = iris.iloc[:, 4].to_numpy()  # labels

    # 학습/검증(train/test) 세트로 분리
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

    # Scaling
    scaler = MyScaler()  # 생성자 호출
    scaler.fit(X_train)  # 스케일링 하기 위한 평균과 표준 편차 계산
    X_train = scaler.transform(X_train)  # 데이터 변환
    X_test = scaler.transform(X_test)

    # k-NN 알고리즘 적용
    knn = MyKnnClassifier(n_neighbors=9)  # 분류기 객체 생성
    knn.fit(X_train, y_train)  # 학습
    y_pred = knn.predict(X_test)  # 예측
    print(np.mean(y_test == y_pred))  # 예측 결과 확인

    print(confusion_matrix(y_test, y_pred))
    print(classification_report(y_test, y_pred))
Exemple #3
0
    plt.ylabel('sepal_width')
    plt.show()

    for name, group in iris_by_class:
        # print(name, len(group))
        plt.scatter(group['petal_length'], group['petal_width'],
                    label=name)  # -> 그래프 class수만큼 그려줌
    plt.legend()
    plt.xlabel('petal_length')
    plt.ylabel('petal_width')
    plt.show()

    iris_point = iris.iloc[:, 0:3].to_numpy()
    iris_label = iris.iloc[:, 4].to_numpy()

    point_train, point_test, label_train, label_test = train_test_split(
        iris_point, iris_label, test_size=0.2)

    scaler = MyScaler()
    scaler.fit(point_train)
    point_train = scaler.transform(point_train)
    point_test = scaler.transform(point_test)

    knn = MYKnnClassifier(5)
    knn.fit(point_train, label_train)
    pred = knn.predict(point_test)

    report = classification_report(label_test, pred)
    confusion = confusion_matrix(label_test, pred)
    # print('아이리스 데이터')
    # print(np.mean(label_test == pred))
    # print(confusion)