关于#python#的问题,如何解决?

手动对(2,0),(0,0),(0,1),(0,5),(2,5)五个样本进行层次聚类

基于new bing的参考:有帮助记得采纳一下

from sklearn.cluster import AgglomerativeClustering
import numpy as np

# 定义样本点
X = np.array([[2, 0], [0, 0], [0, 1], [0, 5], [2, 5]])

# 进行层次聚类
clustering = AgglomerativeClustering(n_clusters=None, distance_threshold=0).fit(X)

# 查看聚类结果
print(clustering.labels_)


  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7711836
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Python编程基础题(5-顺序结构基础2)
  • 除此之外, 这篇博客: Python 笔记(19)— 类属性(私有属性、公有属性、实例属性、局部变量)、类方法(实例方法、静态方法)、类继承、多重继承中的 5. 类的继承 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • class 派生类名(基类名):
        类体
    

    Python 中继承中的一些特点:

    • 在继承中基类的构造(__init__() 方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。
    • 在调用基类的方法时,需要使用 super() 前缀。
    • Python 总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找(先在本类中查找调用的方法,找不到才去基类中找)。

    继承是指一个对象直接使用另一个对象的属性和方法,当一个类拥有另一个类的所有数据和操作时,就称这两个类之间具有继承关系,被继承的类称为父类或者超类,继承了父类或者超类的所有数据和操作的类称为子类。

    继承类语法:

    class class_name(fatherclass_name) 
    

    fatherclass_name 代表的是 class_name 要继承的类 。

    如何调用父类的方法:使用类名访问父类中的方法,并在参数列表中引入对象 self

    class Father():
        def __init__(self):
            print '我是初始化Father类中的方法'
            print '供以后调用'
    
    
    class Son(Father):
        def __init__(self):
            print '我是初始化Son类中的方法'
            Father.__init__(self)   # 使用类名访问父类中的方法,并在参数列表中引入对象self
    
    child = Son()
    

    下面看一个例子,我们以学校的老师和学生为例,老师和学生有共同的特征:姓名、年龄、地址、喜好,不同的是老师有工资,学生有成绩。

    我们将学校成员归为一个共同的类。

    class SchoolMember(object):
        def __init__(self, name, age, addr, hoppy):
            self.name = name
            self.age = age
            self.addr = addr
            self.hoppy = hoppy
            print '初始化的名字是%s' %self.name
    
        def tell(self):
            print '姓名:%s,年龄:%s,地址:%s,喜好:%s'  %(self.name,self.age,self.addr,self.hoppy)
    

    Teacher 类继承 SchoolMember 类,采用新式类继承写法时,super() 会带两个参数,第一个是子类的类名,第二个是 self 参数。

    super() 可以避免一些类继承的潜在问题,特别是在多重继承上。

    class Teacher(SchoolMember):
        def __init__(self, name, age, addr, hoppy, salary):
            # 使用类名访问父类中的方法,并在参数列表中引入对象self
            SchoolMember.__init__(self, name, age, addr, hoppy)  
            # 新式类继承写法
            # super(Teacher, self).__init__(name, age, addr, hoppy)
            # 或者
            # super().__init__(name, age, addr, hoppy)
            self.salary = salary    # 添加salary属性
            print '我是继承SchoolMember的老师%s' %(self.name)
    
        def tell(self):
            SchoolMember.tell(self)
            # 或者
            # super.tell()
            print '我这次的工资是 %s' %self.salary
    

    Student 类继承 SchoolMember

    class Student(SchoolMember):
        def __init__(self, name, age, addr, hoppy, marks):
            SchoolMember.__init__(self, name, age, addr, hoppy)
            # 新式类继承写法
            # super(Student, self).__init__(name, age, addr, hoppy)
            # 或者
            # super().__init__(name, age, addr, hoppy)
            self.marks = marks      # 添加marks属性
            print '我是继承SchoolMember的学生%s' %(self.name)
    
        def tell(self):
            SchoolMember.tell(self)
            # 或者
            # super.tell()
            print '我这次的成绩是 %s' %self.marks
            
    # 分别创建Teacher和Student的实例
    t = Teacher('Tom', 40, '陕西西安', '篮球',3000)
    s = Student('jack', 14, '北京', '足球', 90)
    
    members = (t, s)
    for member in members:
        member.tell()
        
    '''
    程序输出结果如下:
    我是初始化Son类中的方法
    我是初始化Father类中的方法
    供以后调用
    初始化的名字是Tom
    我是继承SchoolMember的老师Tom
    初始化的名字是jick
    我是继承SchoolMember的学生jick
    姓名:Tom,年龄:40,地址:陕西西安,喜好:篮球
    我这次的工资是 3000
    姓名:jack,年龄:14,地址:北京,喜好:足球
    我这次的成绩是 90
    '''
    
    
  • 您还可以看一下 韦玮老师的Python 数据挖掘与机器学习进阶实训-5课程中的 网页自动分类案例实战1小节, 巩固相关知识点