julei.py-20180721

本文介绍如何使用TF-IDF进行文本特征提取,并通过K-means和DBSCAN实现文本聚类,还涉及了Word2Vec及Doc2Vec模型的训练与应用。
# -*- coding: utf-8 -*-
"""
Created on Tue Jul 17 21:00:19 2018

@author: wenyun.wxw
"""

#特征提取

#- Tf-idf
# 词频矩阵:矩阵元素a[i][j] 表示j词在i类文本下的词频 
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer 
vectorizer = CountVectorizer()
# 统计每个词语的tf-idf权值
transformer = TfidfTransformer() 
corpus=ratecontent[0]
corpus=wordcount
freq_word_matrix = vectorizer.fit_transform(corpus)
#获取词袋模型中的所有词语
w = vectorizer.get_feature_names()
tfidf = transformer.fit_transform(freq_word_matrix)
# 元素w[i][j]表示j词在i类文本中的tf-idf权重
weight = tfidf.toarray()

#word2vec
# doc2vec
#训练并保存模型
import gensim
#sentence = [TaggedDocument(doc, [i]) for i, doc in enumerate(common_texts)]
sentences = gensim.models.doc2vec.TaggedLineDocument(ratecontent)
model=gensim.models.Doc2Vec(sentences, size=100, window=2, min_count=3)
model.train(sentences,total_examples=model.corpus_count, epochs=1000)
from gensim.test.utils import get_tmpfile
fname = get_tmpfile("my_doc2vec_model")
model.save(fname)
model = gensim.models.Doc2Vec.load(fname)

#聚类算法
# K-means聚类
from sklearn.cluster import KMeans
clf = KMeans(n_clusters=20)
s = clf.fit(model.docvecs)
print(s)
#20个中心点  
print(clf.cluster_centers_)        
#每个样本所属的簇  
print(clf.labels_)  
i = 1  
while i <= len(clf.labels_):
    print(i, clf.labels_[i-1])
    i = i + 1    
#用来评估簇的个数是否合适,距离越小说明簇分的越好,选取临界点的簇个数  
print(clf.inertia_)

# dbscan 密度聚类
from sklearn.cluster import DBSCAN
# Compute DBSCAN
db = DBSCAN(eps=0.005, min_samples=10).fit(weight)
print(db.core_sample_indices_)
db.labels_

 

一、基础信息 数据集名称:Bottle Fin实例分割数据集 图片数量: 训练集:4418张图片 验证集:1104张图片 总计:5522张图片 分类类别: - 类别0: 数字0 - 类别1: 数字1 - 类别2: 数字2 - 类别3: 数字3 - 类别4: 数字4 - 类别5: 数字5 - 类别6: Bottle Fin 标注格式:YOLO格式,包含多边形坐标,适用于实例分割任务。 数据格式:图片格式常见如JPEG或PNG,具体未指定。 二、适用场景 实例分割AI模型开发:数据集支持实例分割任务,帮助构建能够精确识别和分割图像中多个对象的AI模型,适用于对象检测和分割应用。 工业自动化与质量控制:可能应用于制造、物流或零售领域,用于自动化检测和分类物体,提升生产效率。 计算机视觉研究:支持实例分割算法的学术研究,促进目标检测和分割技术的创新。 教育与实践培训:可用于高校或培训机构的计算机视觉课程,作为实例分割任务的实践资源,帮助学生理解多类别分割。 三、数据集优势 多类别设计:包含7个不同类别,涵盖数字和Bottle Fin对象,增强模型对多样对象的识别和分割能力。 高质量标注:标注采用YOLO格式的多边形坐标,确保分割边界的精确性,提升模型训练效果。 数据规模适中:拥有超过5500张图片,提供充足的样本用于模型训练和验证,支持稳健的AI开发。 即插即用兼容性:标注格式直接兼容主流深度学习框架(如YOLO),便于快速集成到各种实例分割项目中。
### Java程序运行时找不到或无法加载主类的问题分析与解决方法 在Java程序运行时,如果出现“找不到或无法加载主类”的错误,通常是由以下几个原因引起的: 1. **类路径(Classpath)配置错误**:Java虚拟机无法找到指定的主类文件,可能是由于类路径设置不正确导致[^5]。 2. **主类名称拼写错误**:提供的主类名称可能与实际编译后的类名不一致,或者大小写错误[^5]。 3. **缺少`main`方法**:主类中必须包含一个符合规范的`public static void main(String[] args)`方法,否则无法作为入口点[^5]。 4. **打包问题**:如果使用Maven或Gradle构建项目,可能是因为未正确配置插件,导致生成的JAR文件中缺少`Main-Class`属性[^1]。 以下是针对上述问题的具体解决方法: #### 1. 检查类路径配置 确保在运行程序时,类路径中包含编译后的`.class`文件所在的目录。例如: ```bash java -cp ./target/classes com.seelink.julei.ShopApplication ``` 如果使用的是外部库,请确保所有依赖的JAR文件也包含在类路径中。可以使用以下命令: ```bash java -cp ./target/classes:./lib/* com.seelink.julei.ShopApplication ``` #### 2. 验证主类名称 检查`ShopApplication`类是否位于`com.seelink.julei`包下,并且类名的大小写完全匹配。如果类名不匹配或包路径错误,都会导致此问题[^5]。 #### 3. 确保主类中有`main`方法 打开`ShopApplication.java`文件,确认其包含以下方法签名: ```java public static void main(String[] args) { // 程序入口逻辑 } ``` #### 4. 修改Maven配置以正确打包 如果项目是基于Maven构建的,需要确保`spring-boot-maven-plugin`插件已正确配置。根据引用内容,可以在`pom.xml`中添加以下配置: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.seelink.julei.ShopApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 然后重新执行以下命令以生成包含`Main-Class`属性的JAR文件: ```bash mvn clean package ``` #### 5. 检查MANIFEST.MF文件 运行`jar tf target/*.jar`命令,查看JAR文件中的`META-INF/MANIFEST.MF`文件是否包含以下内容: ``` Main-Class: com.seelink.julei.ShopApplication ``` 如果没有,请检查Maven插件配置是否正确。 ### 示例代码 以下是一个完整的Spring Boot项目的`pom.xml`片段: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.7.0</version> <configuration> <mainClass>com.seelink.julei.ShopApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值