VuePress 站点
首页
数学
计算机基础
Java后端
AI大模型
UI设计
首页
数学
计算机基础
Java后端
AI大模型
UI设计
  • AI大模型
  • 尚硅谷-LangChain-v1.2

    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/01-%E8%AF%BE%E7%A8%8B%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/02-%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81LangChain.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/03-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9B%B8%E5%85%B3%E5%B2%97%E4%BD%8D%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/04-LangChain%E6%98%AF%E4%BB%80%E4%B9%88.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/05-LangChain%E7%9A%84%E4%B8%BB%E8%A6%81%E6%A8%A1%E5%9D%97%E5%92%8CAPI%E6%96%87%E6%A1%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/06-LangChain%E5%AE%B6%E6%97%8F%E5%9B%9B%E5%A4%A7%E6%94%AF%E6%9F%B1.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/07-conda%E7%9A%84%E5%AE%89%E8%A3%85%E5%8F%8A%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%E7%9A%84%E9%85%8D%E7%BD%AE.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/08-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF1%EF%BC%9AAgent%E5%BC%80%E5%8F%91.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/09-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF2%EF%BC%9AAgent%E5%BC%80%E5%8F%91.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/10-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BC%80%E5%8F%91%E7%9A%844%E4%B8%AA%E9%80%92%E8%BF%9B%E5%9C%BA%E6%99%AF.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/11-%E6%A8%A1%E5%9E%8B%E8%B0%83%E7%94%A8%E5%89%8D%E7%9A%84%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/12-%E8%B0%83%E7%94%A8DeepSeek%E5%AE%98%E7%BD%91%E7%9A%84DeepSeek%E6%A8%A1%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/13-%E8%B0%83%E7%94%A8%E6%99%BA%E8%B0%B1%E5%92%8C%E9%98%BF%E9%87%8C%E4%BA%91%E7%99%BE%E7%82%BC%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%A4%A7%E6%A8%A1%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/14-ChatOpenAI%E5%85%BC%E5%AE%B9%E7%94%A8%E6%B3%95.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/15-%E4%BD%BF%E7%94%A8OpenRouter%E5%92%8CCloseAI%E4%B8%AD%E8%BD%AC%E5%B9%B3%E5%8F%B0%E8%B0%83%E7%94%A8%E6%A8%A1%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/16-LangChain1.x%E4%B8%ADinit_chat_model%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/17-%E6%A8%A1%E5%9E%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B8%B8%E7%94%A8%E7%9A%84%E5%8F%82%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/18-Ollama%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/19-%E6%B5%8B%E8%AF%95invoke%E4%BC%A0%E9%80%92%E4%B8%89%E7%A7%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/20-invoke%E7%9A%84%E8%BF%94%E5%9B%9E%E5%80%BC%E7%9A%84%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/21-%E6%B5%81%E5%BC%8F%E8%B0%83%E7%94%A8%E3%80%81%E6%89%B9%E9%87%8F%E8%B0%83%E7%94%A8%E4%B8%8E%E5%BC%82%E6%AD%A5%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/22-profile%E5%B1%9E%E6%80%A7_%E5%88%9D%E5%A7%8B%E5%8C%96model_kwargs%E4%B8%8Eextra_body%E5%8F%82%E6%95%B0_%E8%B0%83%E7%94%A8%E7%9A%84config%E5%8F%82%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/23-LangSmith%E7%9A%84%E4%BB%8B%E7%BB%8D%E4%B8%8E%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/24-LangSmith%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/25-%E8%AE%A4%E8%AF%86%E6%B6%88%E6%81%AF%E4%B8%8E%E6%B6%88%E6%81%AF%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%A0%BC%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/26-4%E7%A7%8D%E6%B6%88%E6%81%AF%E5%AF%B9%E8%B1%A1%E4%B8%AD%E5%AD%97%E6%AE%B5%E7%9A%84%E8%AF%B4%E6%98%8E.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/27-%E5%AF%B9%E8%AF%9D%E5%8E%86%E5%8F%B2%E7%9A%84%E7%AE%A1%E7%90%86%E5%92%8C%E4%BC%98%E5%8C%96.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/28-%E6%A1%88%E4%BE%8B%EF%BC%9A%E5%A4%9A%E8%BD%AE%E5%AF%B9%E8%AF%9D%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/29-content%E5%92%8Ccontent_blocks%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/30-ChatPromptTemplate%E7%9A%84%E4%B8%A4%E7%A7%8D%E5%AE%9E%E4%BE%8B%E5%8C%96%E6%96%B9%E5%BC%8F%E5%92%8C%E4%B8%89%E7%A7%8D%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/31-ChatPromptTemplate%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%846%E7%A7%8D%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/32-%E9%83%A8%E5%88%86%E5%8F%98%E9%87%8F%E9%A2%84%E5%A1%AB%E5%85%85_%E6%B6%88%E6%81%AF%E5%8D%A0%E4%BD%8D%E7%AC%A6%E7%AD%89%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/33-%E5%B7%A5%E5%85%B7%E7%9A%84%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F%E4%B8%8E%E6%95%B4%E4%BD%93%E6%89%A7%E8%A1%8C%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/34-%E4%B8%8D%E4%BD%BF%E7%94%A8@tool%E6%96%B9%E5%BC%8F%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/35-%E4%BD%BF%E7%94%A8@tool%E8%A3%85%E9%A5%B0%E5%99%A8%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7%EF%BC%9Adescription%E5%92%8Cname.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/36-%E4%BD%BF%E7%94%A8@tool%E8%A3%85%E9%A5%B0%E5%99%A8%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7%EF%BC%9Aargs_schema.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/37-%E6%A1%88%E4%BE%8B1%E5%92%8C2%EF%BC%9A%E4%BD%BF%E7%94%A8args_schema%E5%92%8Cdocstring.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/38-%E6%A1%88%E4%BE%8B3-4%EF%BC%9A%E5%A4%9A%E5%B7%A5%E5%85%B7%E7%9A%84%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/39-tool_choice%E5%8F%82%E6%95%B0%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/40-%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8%E7%9A%84%E5%AE%9E%E8%B7%B5%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/41-%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA%E7%9A%84%E7%90%86%E8%A7%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/42-Pydantic%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/43-Pydantic%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7%EF%BC%9A%E5%8F%AF%E9%80%89%E5%AD%97%E6%AE%B5%E3%80%81%E9%BB%98%E8%AE%A4%E5%80%BC%E3%80%81%E6%9E%9A%E4%B8%BE%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/44-Pydantic%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7%EF%BC%9A%E5%88%97%E8%A1%A8%E6%8F%90%E5%8F%96%E3%80%81%E5%B5%8C%E5%A5%97%E3%80%81%E9%99%90%E5%88%B6%E6%9D%A1%E4%BB%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/45-Pydantic%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%9B%BE%E8%A7%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/46-TypedDict%E6%A0%BC%E5%BC%8F%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/47-JSON%20Schema%E6%A0%BC%E5%BC%8F%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/48-@dataclass%E6%A0%BC%E5%BC%8F%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/49-%E5%9B%9B%E7%A7%8D%E4%B8%8D%E5%90%8C%E6%A8%A1%E5%BC%8F%E7%9A%84%E7%B1%BB%E5%9E%8B%E6%A0%A1%E9%AA%8C%E6%83%85%E5%86%B5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/50-%E4%B8%A4%E7%A7%8D%E8%8E%B7%E5%8F%96%E7%BB%93%E6%9E%84%E5%8C%96%E7%BB%93%E6%9E%9C%E7%9A%84%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/51-Agent%E7%9A%84%E6%A6%82%E8%BF%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/52-Agent%E5%AE%9E%E4%BE%8B%E5%8C%96%E4%B8%AD%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%B8%A4%E7%A7%8D%E4%BC%A0%E5%85%A5%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/53-Agent%E9%80%9A%E8%BF%87invoke()%E6%96%B9%E5%BC%8F%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/54-Agent%E7%BB%91%E5%AE%9A%E5%B7%A5%E5%85%B7%E5%B9%B6%E8%B0%83%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/55-%E5%B7%A5%E5%85%B7%E8%B0%83%E7%94%A8%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90_%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/56-%E8%AE%BE%E7%BD%AEagent%E7%9A%84name%E5%92%8Csystem_prompt.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/57-agent%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA%E7%9A%844%E7%A7%8D%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/58-ToolStrategy%E7%9A%84schema%E8%AE%BE%E7%BD%AE%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA-Pydantic%E7%B1%BB%E5%9E%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/59-ToolStrategy%E7%9A%84schema%E8%AE%BE%E7%BD%AE%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA-%E5%85%B6%E5%AE%83%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/60-ToolStrategy%E7%9A%84tool_message_content%E5%8F%82%E6%95%B0%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/61-Agent%E7%9A%84%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95%EF%BC%9A%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/62-%E8%AE%BE%E7%BD%AEAgent%E7%9A%84%E6%B5%81%E5%BC%8F%E8%BE%93%E5%87%BA%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/63-Agent%E7%9A%84%E5%AE%9E%E6%88%98%EF%BC%9A%E5%A4%9A%E5%8A%9F%E8%83%BD%E6%99%BA%E8%83%BD%E5%8A%A9%E6%89%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/64-%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E4%B8%AD%E9%97%B4%E4%BB%B6_%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E5%88%86%E7%B1%BB.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/65-SummarizationMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/66-HumanInTheLoopMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/67-PIIMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/68-TodoListMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/69-ModelCallLimitMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/70-ToolCallLimitMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/71-ModelFallbackMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/72-LLMToolSelectorMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/73-ToolRetryMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/74-ModelRetryMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/75-LLMToolEmulator%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/76-ContextEditingMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/77-FilesystemFileSearchMiddleware%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/78-%E5%A4%9A%E4%B8%AA%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%BB%84%E5%90%88%E5%8F%8A%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/79-hook%E5%87%BD%E6%95%B0%E7%9A%84%E7%90%86%E8%A7%A3.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/80-%E5%9F%BA%E4%BA%8E%E8%A3%85%E9%A5%B0%E5%99%A8%E5%AE%9A%E4%B9%89Node-style%E7%9A%84%E9%92%A9%E5%AD%90%E5%87%BD%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/81-%E5%9F%BA%E4%BA%8E%E7%B1%BB%E5%AE%9A%E4%B9%89Node-style%E7%9A%84%E9%92%A9%E5%AD%90%E5%87%BD%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/82-%E8%A3%85%E9%A5%B0%E5%99%A8%E5%8F%82%E6%95%B0can_jump_to%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/83-wrap_model_call%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%92%8C%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/84-wrap_tool_call%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%92%8C%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/85-%E8%A3%85%E9%A5%B0%E5%99%A8%E5%92%8C%E7%B1%BB%E6%96%B9%E5%BC%8F%E7%9A%84%E9%80%89%E6%8B%A9_hook%E5%87%BD%E6%95%B0%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/86-%E8%AE%B0%E5%BF%86%E7%9A%84%E6%A6%82%E5%BF%B5%E5%92%8C%E8%AE%B0%E5%BF%86%E7%9A%84%E5%88%86%E7%B1%BB.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/87-%E7%9F%AD%E6%9C%9F%E8%AE%B0%E5%BF%86%E4%B9%8B%E5%9F%BA%E4%BA%8E%E5%86%85%E5%AD%98%E7%9A%84%E6%8C%81%E4%B9%85%E5%8C%96%E5%99%A8%E7%9A%84%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/88-%E5%9F%BA%E4%BA%8E%E5%86%85%E5%AD%98%E5%AD%98%E5%82%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%92%8C%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/89-%E8%85%BE%E8%AE%AF%E4%BA%91%E9%83%A8%E7%BD%B2Linux%E6%9C%8D%E5%8A%A1%E5%99%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/90-PostgreSQL%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%AE%89%E8%A3%85.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/91-%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9E%E6%8E%A5%E9%A2%9D%E5%A4%96%E6%93%8D%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/92-%E7%9F%AD%E6%9C%9F%E8%AE%B0%E5%BF%86%E4%B9%8BPostgreSQL%E5%AE%9E%E7%8E%B0%E6%8C%81%E4%B9%85%E5%8C%96%E5%AD%98%E5%82%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/93-%E5%AF%B9%E6%AF%94%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F%E7%9A%84%E4%B8%8D%E5%90%8C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/94-%E6%B6%88%E6%81%AF%E8%A3%81%E5%89%AA%E7%9A%84%E6%B2%BB%E7%90%86%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/95-%E6%B6%88%E6%81%AF%E5%88%A0%E9%99%A4%E3%80%81%E6%91%98%E8%A6%81%E7%9A%84%E6%B2%BB%E7%90%86%E7%AD%96%E7%95%A5.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/96-%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%E7%9A%84%E4%BB%8B%E7%BB%8D%E5%92%8C%E5%AD%98%E5%82%A8%E6%9E%B6%E6%9E%84.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/97-put()%E5%92%8Cget()%E6%93%8D%E4%BD%9C%E7%9A%84%E7%9A%84%E6%BC%94%E7%A4%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/98-search()%E6%93%8D%E4%BD%9C%E7%9A%84%E6%BC%94%E7%A4%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/99-%E5%9C%A8%E5%B7%A5%E5%85%B7%E4%B8%AD%E8%AE%BF%E9%97%AE%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%EF%BC%88%E5%9F%BA%E4%BA%8EInMemoryStore%EF%BC%89.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/100-%E5%9C%A8%E5%B7%A5%E5%85%B7%E4%B8%AD%E8%AE%BF%E9%97%AE%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%EF%BC%88%E5%9F%BA%E4%BA%8EPostgresStore%EF%BC%89.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/101-%E5%9C%A8%E4%B8%AD%E9%97%B4%E4%BB%B6%E4%B8%AD%E8%AE%BF%E9%97%AE%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/102-RAG%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BF%85%E8%A6%81%E6%80%A7.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/103-RAG%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%92%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/104-TextLoader%E5%92%8CCSVLoader%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/105-JSONLoader%E5%8A%A0%E8%BD%BDJSON%E6%96%87%E4%BB%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/106-PyPDFLoader%E5%92%8CMinerU%E5%8A%A0%E8%BD%BDpdf%E6%96%87%E4%BB%B6.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/107-%E5%85%B6%E5%AE%83%E6%A0%BC%E5%BC%8F%E6%96%87%E4%BB%B6%E7%9A%84%E5%8A%A0%E8%BD%BD%E5%99%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/108-%E5%88%87%E5%88%86%E7%AD%96%E7%95%A5%E5%8F%8ATextSplitter%E4%B8%AD%E7%9A%84%E4%B8%89%E4%B8%AA%E6%A0%B8%E5%BF%83%E6%96%B9%E6%B3%95.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/109-CharacterTextSplitter%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/110-RecursiveCharacterTextSplitter%E7%9A%84%E4%BD%BF%E7%94%A8.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/111-%E5%85%B6%E5%AE%83%E5%A4%9A%E7%A7%8DTextSplitter%E7%9A%84%E4%BD%BF%E7%94%A8%E6%BC%94%E7%A4%BA.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/112-%E5%B5%8C%E5%85%A5%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8F%8A%E6%96%87%E6%A1%A3%E5%90%91%E9%87%8F%E5%8C%96%E4%B8%BE%E4%BE%8B.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/113-%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%8B%E7%BB%8D_docker%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E8%AE%BE%E7%BD%AE.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/114-Milvus%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B%E8%AF%B4%E6%98%8E.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/115-Milvus%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84DDL%E6%93%8D%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/116-Milvus%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84DML%E5%92%8CDQL%E6%93%8D%E4%BD%9C.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/117-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE_%E5%88%9D%E5%A7%8B%E5%8C%96Milvus.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/118-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E6%96%87%E6%A1%A3%E5%88%87%E5%88%86_%E5%90%91%E9%87%8F%E5%8C%96%E5%B9%B6%E5%86%99%E5%85%A5Milvus.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/119-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E5%88%9D%E5%A7%8B%E5%8C%96Agent_%E6%A3%80%E7%B4%A2%E5%87%BD%E6%95%B0.html
    • /ai-models/%E5%B0%9A%E7%A1%85%E8%B0%B7-LangChain-v1.2/120-%E9%A1%B9%E7%9B%AEAssistant%E5%AE%A2%E6%9C%8D%E7%9F%A5%E8%AF%86%E5%BA%93%E4%B9%8B%E7%94%9F%E4%BA%A7%E4%B8%8E%E5%9B%9E%E7%AD%94%E7%94%9F%E6%88%90.html
  • 炮哥-Transfomer架构

    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/1.1%E3%80%81%E8%AF%BE%E7%A8%8B%E5%85%88%E5%AF%BC.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.10%E3%80%81%E6%8E%A9%E7%A0%81%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.11%E3%80%81%E5%B1%82%E5%BD%92%E4%B8%80%E5%8C%96.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.12%E3%80%81%E5%89%8D%E9%A6%88%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.13%E3%80%81Transormer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%8E%A8%E7%90%86%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.14%E3%80%81Transormer%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%AE%AD%E7%BB%83%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.15%E3%80%81%E5%9B%A0%E6%9E%9C%E6%8E%A9%E7%A0%81%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6-%E8%AE%AD%E7%BB%83%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.16%E3%80%81%E5%9B%A0%E6%9E%9C%E6%8E%A9%E7%A0%81%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6-%E6%8E%A8%E7%90%86%E8%BF%87%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.17%E3%80%81%E4%BA%A4%E5%8F%89%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.18%E3%80%81Transformer%E6%9E%B6%E6%9E%84%E6%80%BB%E7%BB%93.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.1%E3%80%81Transformer%E7%AE%97%E6%B3%95%E8%83%8C%E6%99%AF.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.2%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.3%E3%80%81%E8%BE%93%E5%85%A5%E6%96%87%E6%9C%AC%E6%95%B0%E6%8D%AE%E6%95%B0%E5%80%BC%E8%BD%AC%E6%8D%A2.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.4%E3%80%81%E8%AF%8D%E5%B5%8C%E5%85%A5%E6%96%B9%E6%B3%95.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.5%E3%80%81%E4%BD%8D%E7%BD%AE%E7%BC%96%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.6%E3%80%81%E8%87%AA%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E5%85%88%E5%AF%BC.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.7%E3%80%81%E8%87%AA%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E7%9A%84%E7%AE%97%E6%B3%95%E6%B5%81%E7%A8%8B.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.8%E3%80%81%E8%87%AA%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E7%9F%A9%E9%98%B5%E7%90%86%E8%A7%A3%E6%96%B9%E5%BC%8F.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/2.9%E3%80%81%E5%A4%9A%E5%A4%B4%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.10%E3%80%81%E7%BC%96%E7%A0%81%E5%99%A8%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.11%E3%80%81%E8%A7%A3%E7%A0%81%E5%99%A8%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.12%E3%80%81%E7%94%9F%E6%88%90%E5%99%A8%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.13%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%9C%80%E7%BB%88%E5%AE%9E%E7%8E%B0.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.14%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%AE%AD%E7%BB%83.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.15%E3%80%81Transformer%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%8E%A8%E7%90%86%E4%B8%8E%E5%BA%94%E7%94%A8.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.1%E3%80%81%E5%AE%9E%E6%88%98%E5%85%88%E5%AF%BC.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.2%E3%80%81%E7%8E%AF%E5%A2%83%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E4%BB%A3%E7%A0%81%E6%B5%8B%E8%AF%95.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.3%E3%80%81%E6%95%B0%E6%8D%AE%E9%9B%86%E7%9A%84%E4%BB%8B%E7%BB%8D%E4%B8%8E%E5%88%86%E6%9E%90.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.4%E3%80%81%E8%AF%8D%E8%A1%A8%E7%9A%84%E6%9E%84%E5%BB%BA%E4%B8%8E%E4%BB%8B%E7%BB%8D.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.5%E3%80%81%E8%AF%8D%E5%B5%8C%E5%85%A5%E4%B8%8E%E4%BD%8D%E7%BD%AE%E7%BC%96%E7%A0%81%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.6%E3%80%81attention%E4%BB%A3%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.7%E3%80%81%E5%A4%9A%E5%A4%B4%E6%B3%A8%E6%84%8F%E5%8A%9B%E6%9C%BA%E5%88%B6%E4%BB%A3%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.8%E3%80%81%E5%B1%82%E5%BD%92%E4%B8%80%E5%8C%96%E5%92%8C%E5%89%8D%E9%A6%88%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E4%BB%A3%E7%A0%81.html
    • /ai-models/%E7%82%AE%E5%93%A5-Transfomer%E6%9E%B6%E6%9E%84/3.9%E3%80%81%20SublayerConnection%E4%BB%A3%E7%A0%81.html
  • 黑马-NLP最新版

    • NLP自然语言处理课程导学
    • NLP 阶段大纲介绍
    • NLP 发展简史介绍
    • NLP 应用场景介绍
    • 文本预处理的主要模块介绍
    • 如何创建沙箱及关联 PyCharm
    • jieba 分词 - 精确模式介绍
    • jieba 分词 - 全模式介绍
    • jieba 分词 - 搜索引擎模式介绍
    • jieba 分词 - 繁体字
    • jieba 分词 - 用户自定义词典
    • 文本预处理 - NER 和 POS 解释
    • 文本张量表示法 - one-hot 编码介绍
    • one-hot 编码 - 获取
    • one-hot 编码 - 使用
    • one-hot 编码 - 简单实现思路
    • Word2Vec - CBOW 原理介绍
    • Word2Vec 之 Skip-Gram 词向量解释
    • FastText 环境搭建
    • FastText 词向量模型的训练和保存
    • FastText 模型的加载、查看与效果检验
    • FastText 模型参数设定
    • WordEmbedding 和 Word2Vec 的区别
    • WordEmbedding 获取词向量
    • WordEmbedding 查看词向量的相似性
    • 文本分析 - 标签数据分布查看
    • 扩展 - map() 函数功能介绍
    • 文本分析 - 句子长度分布分析
    • 文本分析 - 正负样本长度散点分布
    • 扩展 - chain() 函数介绍
    • 文本分析 - 词汇统计
    • 文本分析 - 高频形容词词云
    • 扩展 - zip() 函数用法解释
    • 文本特征处理 - n-gram 代码演示
    • 扩展 - 如何计算两个文本的相似度
    • 文本长度规范 - 代码实现
    • 回译数据增强法介绍
    • RNN 模型简介
    • RNN 的分类介绍
    • RNN 的模型结构
    • RNN 代码 - 基础版
    • RNN 代码 - 修改句子长度
    • RNN 代码 - 修改隐藏层及总结
    • LSTM 模型 - 原理图解(上)
    • LSTM 模型 - 原理图解(下)
    • Bi-LSTM 模型介绍
    • LSTM 模型 - 代码实现
    • GRU 模型 - 原理图解
    • GRU 模型 - 代码演示
    • RNN 人名分类案例 - 需求介绍
    • RNN 人名分类案例 - 获取全局字母表和国家名
    • RNN 人名分类案例 - 读取数据到内存
    • RNN 人名分类案例 - 构建数据集对象
    • RNN 人名分类案例 - 构建数据加载器对象
    • 扩展 - LogSoftmax() 函数讲解
    • 全球人名分类案例 - 搭建 RNN 模型
    • 全球人名分类案例 - 测试 RNN 模型
    • 全球人名分类案例 - 搭建 LSTM 和 GRU 模型
    • 全球人名分类案例 - 测试三种模型
    • 全球人名分类案例 - RNN 模型训练
    • 全球人名分类案例 - LSTM 模型训练
    • 全球人名分类案例 - GRU 模型训练
    • 全球人名分类案例 - 三种模型可视化
    • 全球人名分类案例 - RNN 模型预测
    • 全球人名分类案例 - 思路总结
    • 注意力机制介绍
    • 注意力机制 - QKV 简介
    • 注意力机制 - 实现步骤介绍
    • Seq2Seq 架构 - 任务介绍
    • Seq2Seq 架构 - 加入注意力机制
    • 扩展1 - 普通的 Encoder-Decoder 框架
    • 扩展2 - 加入注意力机制的 Encoder-Decoder 框架
    • 扩展3 - 注意力概率分布的计算方式
    • 扩展4 - 软注意力、硬注意力、自注意力机制简介
    • 常见的注意力计算规则介绍
    • 扩展 - bmm() 函数简介
    • 注意力机制 - 代码实现
    • 注意力机制 - 测试代码
    • 注意力机制 - 参数解释
    • 英译法案例 - 需求介绍
    • 英译法案例 - 如何配置 CUDA 环境及测试(上)
    • 英译法案例 - 如何配置 CUDA 环境(实操)
    • 扩展 - 配置 CUDA 环境总结
    • 英译法案例 - 数据清洗函数
    • 英译法案例 - 数据预处理函数
    • 英译法案例 - 构建数据集对象
    • 英译法案例 - 获取数据加载器对象
    • 英译法案例 - 构建基于 GRU 的编码器
    • 英译法案例 - 测试基于 GRU 的编码器
    • 英译法案例 - 基于 GRU 的无 Attention 的解码器思路分析
    • 英译法案例 - 构建基于 GRU 解码器(无 Attention)
    • 英译法案例 - 测试基于 GRU 的无 Attention 解码器
    • 英译法案例 - 基于 GRU 有 Attention 的解码器思路分析
    • 英译法案例 - 基于 GRU 有 Attention 的解码器代码实现(上)
    • 英译法案例 - 基于 GRU 有 Attention 的解码器代码实现(下)
    • 英译法案例 - 带注意力机制的解码器层测试代码
    • 英译法案例 - 模型搭建总结
    • Teacher Forcing - 教师强制
    • 英译法案例 - 模型训练总结
    • 英译法案例 - 模型预测代码实现
    • 英译法案例 - 模型预测代码测试
    • 英译法案例 - 绘制张量图
    • Transformer 框架 - 由来介绍
    • Transformer 架构介绍 - 文字版
    • Transformer 架构图(上)
    • Transformer 架构图(下)
    • 学习 Transformer 架构的路线
    • Transformer 架构 - 词嵌入层代码实现
    • Transformer 架构 - 位置编码层原理介绍
    • Transformer 架构 - 位置编码总结
    • Transformer 架构 - 位置编码层代码实现
    • Transformer 架构 - 位置编码层代码测试
    • 扩展 - 上三角矩阵演示
    • 扩展 - 下三角矩阵演示
    • 扩展 - 掩码张量的可视化
    • 扩展 - masked_fill() 函数介绍
    • Transformer 架构 - 注意力机制代码实现及测试
    • 多头注意力机制 - 原理图(上)
    • 多头注意力机制 - 原理图(下)
    • 多头注意力机制 - 代码实现
    • 多头注意力机制 - 代码测试
    • 前馈全连接层 - 代码实现及测试
    • 规范化层 - 代码实现
    • 规范化层 - 代码测试
    • 扩展 - BN 和 LN 的区别
    • 子层结构搭建 - 代码实现
    • 子层结构搭建 - 代码测试
    • 编码器层 - 代码实现
    • 编码器层 - 代码测试
    • 编码器 - 代码实现及测试
    • 解码器层 - 代码实现
    • 解码器层 - 代码测试
    • 解码器 - 代码实现及测试
    • 输出部分 - 代码实现
    • 输出部分 - 代码测试
    • 完整的 Transformer 架构搭建(上)
    • 完整的 Transformer 架构搭建(下)
    • Transformer 架构测试(上)
    • Transformer 架构组件介绍
    • Transformer 架构测试(下)
    • Fasttext - 简介及环境搭建
    • Fasttext - 哈夫曼树介绍
    • Fasttext - 负采样介绍
    • Fasttext - 直接训练 - 代码实现
    • Fasttext 优化 - 数据预处理
    • Fasttext 优化 - 调整训练轮数和学习率
    • Fasttext 优化 - 调整 NGram 和损失函数
    • Fasttext 优化 - 自动调参
    • Fasttext 优化 - 多分类多标签任务
    • Fasttext - 模型保存和加载
    • Fasttext - 词向量迁移介绍
    • 迁移学习介绍
    • 常见的预训练 NLP 模型介绍
    • Transformers 库介绍及环境搭建
    • NLP 任务 - Pipeline 方式 - 文本分类
    • NLP 任务 - Pipeline 方式 - 特征提取
    • NLP 任务 - Pipeline 方式 - 完形填空
    • Pipeline 方式 - 阅读理解任务
    • Pipeline 方式 - 文本摘要任务
    • Pipeline 方式 - NER 任务
    • 自动模型方式 - 文本分类任务
    • 自动模型方式 - 特征提取任务
    • 自动模型方式 - 完形填空任务
    • 自动模型方式 - 阅读理解任务
    • 自动模型方式 - 文本摘要任务
    • 自动模型方式 - NER 任务
    • 具体模型方式 - 完形填空任务
    • 迁移学习 - 中文分类案例 - 数据加载
    • 迁移学习 - 中文分类案例 - 数据预处理
    • 迁移学习 - 中文分类案例 - 模型搭建
    • 迁移学习 - 中文分类案例 - 模型训练
    • 迁移学习 - 中文分类案例 - 模型评估
    • 迁移学习 - 中文填空案例 - 数据预处理
    • 迁移学习 - 中文填空案例 - 模型搭建
    • 迁移学习 - 中文填空案例 - 模型训练
    • 迁移学习 - 中文填空案例 - 模型评估
    • 迁移学习 - NSP 案例 - 自定义数据集对象
    • 迁移学习 - NSP 案例 - 数据预处理
    • 迁移学习 - NSP 案例 - 模型搭建
    • 迁移学习 - NSP 案例 - 模型训练和评估
    • BERT 模型介绍
    • BERT 模型架构介绍
    • BERT 预训练任务 - MLM 和 NSP 介绍
    • BERT 模型总结
    • ELMo 模型介绍
    • GPT 模型介绍
  • 黑马-机器学习

    • 机器学习课程导学
    • 机器学习大纲介绍
    • 机器学习相关概述目录介绍
    • 人工智能三大概念:AI、ML、DL介绍
    • 基于规则和模型的学习介绍
    • 机器学习应用领域和发展史介绍
    • 机器学习核心名词介绍
    • 机器学习算法分类
    • 机器学习建模流程
    • 特征工程介绍
    • 上午内容回顾
    • 模型拟合问题
    • 机器学习环境搭建
    • KNN算法简介
    • KNN算法思路分析
    • KNN算法分类思想代码实现
    • KNN算法回归思想代码实现
    • 常用的距离度量方式
    • 特征预处理之归一化
    • 特征预处理之标准化
    • 鸢尾花案例之查看数据集
    • 鸢尾花案例之数据集可视化
    • 鸢尾花案例之切分训练集和测试集
    • 鸢尾花案例之模型评估和预测
    • 交叉验证和网格搜索介绍
    • 交叉验证和网格搜索之代码实现
    • 手写数字识别之数据集介绍
    • 手写数字识别之绘制数字
    • 手写数字识别之训练和保存模型
    • 手写数字识别之加载和使用模型
    • 解决预测错误的Bug
    • 线性回归之今日内容大纲介绍
    • 线性回归简介
    • 线性回归API入门
    • 损失函数介绍
    • 导数复习
    • 偏导数复习
    • 上午内容回顾
    • 矩阵复习
    • 一元线性回归之正规方程法
    • 多元线性回归之正规方程法(上)
    • 多元线性回归之正规方程法(下)
    • 补充:为什么转换时是XW
    • 单变量梯度下降法
    • 多变量梯度下降法
    • 银行信贷案例之梯度下降法
    • 梯度下降算法分类
    • 回归模型评估方法
    • 正规方程与线性回归对象API介绍
    • 梯度下降线性回归对象API介绍
    • 代码演示之欠拟合
    • 代码演示之正好拟合
    • 代码演示之过拟合
    • L1和L2正则化解释
    • 逻辑回归之今日内容大纲介绍
    • 逻辑回归之简介
    • 逻辑回归之概率相关知识回顾
    • 逻辑回归之原理介绍
    • 逻辑回归案例之癌症预测
    • 混淆矩阵及精确率、召回率、F1值介绍
    • 混淆矩阵、精确率、召回率、F1值代码演示
    • 混淆矩阵总结
    • ROC曲线和AUC指标介绍(了解)
    • ROC曲线案例(了解)
    • 逻辑回归案例:电信用户流失预测 - 数据预处理
    • 逻辑回归案例:电信用户流失预测 - 数据可视化
    • 逻辑回归案例:电信用户流失预测 - 模型训练预测评估
    • 决策树简介
    • 决策树之信息熵简介
    • 决策树之信息增益计算
    • ID3决策树搭建
    • 上午内容回顾
    • C4.5树之信息增益率
    • Cart树原理介绍
    • 三种决策树总结
    • 泰坦尼克号案例之数据集介绍
    • 泰坦尼克号案例之代码演示
    • CART决策树之回归用法
    • 回归决策树和线性回归对比
    • 决策树之剪枝介绍
    • 集成学习之大纲介绍
    • 集成学习之简介
    • 集成学习之Bagging和Boosting思想介绍
    • Bagging思想之随机森林算法介绍
    • 随机森林API之泰坦尼克号案例
    • Boosting思想之AdaBoost自适应提升树介绍
    • AdaBoost算法之推导过程
    • AdaBoost算法之葡萄酒案例
    • GBDT算法之梯度提升树介绍
    • GBDT算法之推导过程
    • GBDT算法之泰坦尼克号案例
    • XGBoost极限梯度提升树之简介
    • XGBoost极限梯度提升树之推导
    • XGBoost API介绍
    • XGBoost案例之红酒品质分类-数据预处理
    • XGBoost案例之红酒品质分类-模型训练
    • XGBoost案例之红酒品质分类-模型评测
    • 朴素贝叶斯之简介
    • 商品评论情感分析之思路分析
    • 商品评论情感分析之数据预处理
    • 商品评论情感分析之模型训练和预测
    • 聚类算法之简介
    • 聚类算法之API初识
    • 聚类算法之推导流程
    • 聚类算法评估指标之SSE介绍
    • 聚类算法评估指标之SSE代码实现
    • 聚类算法评估指标之SC、CH轮廓系数介绍
    • SC、CH轮廓系数之代码演示
    • 用户分群之求解最优K值
    • 用户分群之代码实现
    • 时序数据介绍
    • 时序数据分类介绍
    • 时序预测之算法介绍
    • 电力负荷预测案例之背景介绍
    • 电力负荷预测案例之项目搭建
    • 电力负荷预测案例之日志功能介绍
    • 电力负荷预测案例之数据预处理
    • 电力负荷预测案例之定义电力负荷模型类
    • 电力负荷预测案例之查看数据整体和各小时负荷分布
    • 电力负荷案例之按照月份、假日可视化数据
    • 电力负荷案例之特征工程-添加小时和月份字段
    • 电力负荷案例之特征工程-添加上n小时(窗口字段)
    • 电力负荷案例之特征工程-昨日同时刻负荷
    • 电力负荷案例之模型训练、评估、保存
    • 电力负荷案例之预测类代码实现
    • 电力负荷案例之解析预测特征(上)
    • 电力负荷案例之解析预测特征(下)
    • 电力负荷案例之结果展示
    • 电力负荷案例之扩展思路
    • 课程完结与AI大模型开发课程介绍

用户分群之求解最优K值

1 课程概览

本课讲解用户分群案例的数据介绍和求解最优K值的方法。通过对客户信息(性别、年龄、年收入、消费指数)进行聚类,找到黄金用户,制定营销方案。

2 核心概念与定义

  • 用户分群:对客户进行聚类分组。
  • 黄金用户:消费指数高、年收入高的客户。
  • 消费指数:花的钱越多,消费指数越高。
  • 散点图:需要X轴和Y轴两列数据。
  • 最优K值:通过SSE肘部法、SC、CH求解。

3 算法与模型详解

3.1 数据介绍

数据列:

  1. 用户ID
  2. 性别
  3. 年龄
  4. 年收入
  5. 消费指数(spending score)

特征选择:

  • 任选两列(因为是散点图)
  • 建议包含消费指数
  • 本课选择:年收入(X轴)+ 消费指数(Y轴)

3.2 黄金用户定义

黄金用户:

  • 消费指数高(最重要)
  • 年收入高

分类:

  1. 赚少花少
  2. 赚少花多(年轻人)
  3. 赚多花少
  4. 赚多花多(黄金用户)
  5. 正常(赚多花一般)

3.3 求解最优K值的方法

方法1:SSE + 肘部法

  • 找SSE下降变缓的K值

方法2:SC轮廓系数

  • 找SC最大值对应的K值

方法3:CH轮廓系数

  • 找CH最大值对应的K值

3.4 聚类与分类的关系

聚类:没有先验知识,根据相似性划分 分类:有先验知识(标签),预测类别

说明:

  • 实际开发中,分类用得最多
  • 其次是回归
  • 最后才是聚类

3.5 五个分群

分群结果:

  1. 紫色:赚少花少
  2. 蓝色:赚少花多(年轻人)
  3. 绿色:赚多花少
  4. 红色:赚多花多(黄金用户)
  5. 黄色:正常(赚多花一般)

4 代码示例

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score, calinski_harabasz_score

# 1. 模拟用户数据
print("=== 1. 模拟用户数据 ===")
np.random.seed(42)
n_customers = 200

data = pd.DataFrame({
    'customer_id': range(1, n_customers + 1),
    'gender': np.random.choice(['Male', 'Female'], n_customers),
    'age': np.random.randint(18, 70, n_customers),
    'annual_income': np.random.randint(15, 137, n_customers),  # 年收入(千美元)
    'spending_score': np.random.randint(1, 100, n_customers)   # 消费指数
})

print(f"用户数量: {len(data)}")
print(data.head())

# 2. 选择特征
print("\n=== 2. 选择特征 ===")
# 选择年收入和消费指数
X = data[['annual_income', 'spending_score']].values
print(f"特征形状: {X.shape}")
print(f"年收入范围: {X[:, 0].min()} - {X[:, 0].max()}")
print(f"消费指数范围: {X[:, 1].min()} - {X[:, 1].max()}")

# 3. 可视化原始数据
print("\n=== 3. 可视化原始数据 ===")
plt.figure(figsize=(10, 6))
plt.scatter(X[:, 0], X[:, 1], alpha=0.6)
plt.xlabel('年收入(千美元)')
plt.ylabel('消费指数')
plt.title('用户数据分布')
plt.grid(True)
plt.savefig('user_data_distribution.png', dpi=100)
print("原始数据图已保存")

# 4. SSE + 肘部法
print("\n=== 4. SSE + 肘部法 ===")

def find_best_k_sse(X):
    """SSE + 肘部法"""
    k_range = range(1, 11)
    sse_list = []
    
    for k in k_range:
        kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
        kmeans.fit(X)
        sse_list.append(kmeans.inertia_)
        print(f"K={k}: SSE={kmeans.inertia_:.4f}")
    
    plt.figure(figsize=(10, 6))
    plt.plot(k_range, sse_list, 'bo-')
    plt.xlabel('K值')
    plt.ylabel('SSE')
    plt.title('SSE + 肘部法')
    plt.grid(True)
    plt.xticks(k_range)
    plt.savefig('user_sse_elbow.png', dpi=100)
    
    return sse_list

sse_list = find_best_k_sse(X)

# 5. SC轮廓系数
print("\n=== 5. SC轮廓系数 ===")

def find_best_k_sc(X):
    """SC轮廓系数"""
    k_range = range(2, 11)
    sc_list = []
    
    for k in k_range:
        kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
        labels = kmeans.fit_predict(X)
        sc = silhouette_score(X, labels)
        sc_list.append(sc)
        print(f"K={k}: SC={sc:.4f}")
    
    plt.figure(figsize=(10, 6))
    plt.plot(k_range, sc_list, 'ro-')
    plt.xlabel('K值')
    plt.ylabel('SC轮廓系数')
    plt.title('SC轮廓系数')
    plt.grid(True)
    plt.xticks(k_range)
    plt.savefig('user_sc.png', dpi=100)
    
    best_k = list(k_range)[np.argmax(sc_list)]
    print(f"\n最佳K值: {best_k} (SC={max(sc_list):.4f})")
    return best_k

best_k_sc = find_best_k_sc(X)

# 6. CH轮廓系数
print("\n=== 6. CH轮廓系数 ===")

def find_best_k_ch(X):
    """CH轮廓系数"""
    k_range = range(2, 11)
    ch_list = []
    
    for k in k_range:
        kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
        labels = kmeans.fit_predict(X)
        ch = calinski_harabasz_score(X, labels)
        ch_list.append(ch)
        print(f"K={k}: CH={ch:.4f}")
    
    plt.figure(figsize=(10, 6))
    plt.plot(k_range, ch_list, 'go-')
    plt.xlabel('K值')
    plt.ylabel('CH轮廓系数')
    plt.title('CH轮廓系数')
    plt.grid(True)
    plt.xticks(k_range)
    plt.savefig('user_ch.png', dpi=100)
    
    best_k = list(k_range)[np.argmax(ch_list)]
    print(f"\n最佳K值: {best_k} (CH={max(ch_list):.4f})")
    return best_k

best_k_ch = find_best_k_ch(X)

# 7. 三种指标对比
print("\n=== 7. 三种指标对比 ===")

def compare_metrics(X):
    """对比三种指标"""
    k_range = range(1, 11)
    sse_list = []
    sc_list = []
    ch_list = []
    k_sc_ch = []
    
    for k in k_range:
        kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
        labels = kmeans.fit_predict(X)
        
        sse_list.append(kmeans.inertia_)
        
        if k >= 2:
            sc_list.append(silhouette_score(X, labels))
            ch_list.append(calinski_harabasz_score(X, labels))
            k_sc_ch.append(k)
    
    fig, axes = plt.subplots(1, 3, figsize=(18, 5))
    
    axes[0].plot(k_range, sse_list, 'bo-')
    axes[0].set_xlabel('K值')
    axes[0].set_ylabel('SSE')
    axes[0].set_title('SSE(越小越好)')
    axes[0].grid(True)
    axes[0].set_xticks(k_range)
    
    axes[1].plot(k_sc_ch, sc_list, 'ro-')
    axes[1].set_xlabel('K值')
    axes[1].set_ylabel('SC')
    axes[1].set_title('SC(越大越好)')
    axes[1].grid(True)
    axes[1].set_xticks(k_sc_ch)
    
    axes[2].plot(k_sc_ch, ch_list, 'go-')
    axes[2].set_xlabel('K值')
    axes[2].set_ylabel('CH')
    axes[2].set_title('CH(越大越好)')
    axes[2].grid(True)
    axes[2].set_xticks(k_sc_ch)
    
    plt.tight_layout()
    plt.savefig('user_metrics_comparison.png', dpi=100)
    
    print(f"最佳K值:")
    print(f"  SSE肘部法: K=5")
    print(f"  SC轮廓系数: K={k_sc_ch[np.argmax(sc_list)]}")
    print(f"  CH轮廓系数: K={k_sc_ch[np.argmax(ch_list)]}")

compare_metrics(X)

# 8. 使用最佳K值聚类
print("\n=== 8. 使用最佳K值聚类 ===")
best_k = 5  # 根据评估结果选择
kmeans = KMeans(n_clusters=best_k, random_state=42, n_init=10)
labels = kmeans.fit_predict(X)
centroids = kmeans.cluster_centers_

print(f"最佳K值: {best_k}")
print(f"聚类中心:")
for i, c in enumerate(centroids):
    print(f"  簇{i}: 年收入={c[0]:.2f}, 消费指数={c[1]:.2f}")

# 评估
sse = kmeans.inertia_
sc = silhouette_score(X, labels)
ch = calinski_harabasz_score(X, labels)
print(f"\nSSE: {sse:.4f}")
print(f"SC: {sc:.4f}")
print(f"CH: {ch:.4f}")

# 9. 可视化聚类结果
print("\n=== 9. 可视化聚类结果 ===")
plt.figure(figsize=(10, 8))
scatter = plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', alpha=0.6)
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', marker='x', s=200, linewidths=3)
plt.xlabel('年收入(千美元)')
plt.ylabel('消费指数')
plt.title(f'用户分群 (K={best_k})')
plt.colorbar(scatter, label='簇类别')
plt.grid(True)
plt.savefig('user_clustering_result.png', dpi=100)
print("聚类结果图已保存")

# 10. 分析用户群体
print("\n=== 10. 分析用户群体 ===")

def analyze_clusters(data, labels, centroids):
    """分析用户群体"""
    data_with_labels = data.copy()
    data_with_labels['cluster'] = labels
    
    print("\n各簇统计:")
    for i in range(len(centroids)):
        cluster_data = data_with_labels[data_with_labels['cluster'] == i]
        print(f"\n簇{i}:")
        print(f"  用户数: {len(cluster_data)}")
        print(f"  平均年收入: {cluster_data['annual_income'].mean():.2f}")
        print(f"  平均消费指数: {cluster_data['spending_score'].mean():.2f}")
        print(f"  平均年龄: {cluster_data['age'].mean():.2f}")
        print(f"  性别分布: {cluster_data['gender'].value_counts().to_dict()}")
        
        # 判断用户类型
        avg_income = cluster_data['annual_income'].mean()
        avg_spending = cluster_data['spending_score'].mean()
        
        if avg_income > 70 and avg_spending > 60:
            user_type = "黄金用户(赚多花多)"
        elif avg_income > 70 and avg_spending < 40:
            user_type = "保守用户(赚多花少)"
        elif avg_income < 40 and avg_spending > 60:
            user_type = "年轻用户(赚少花多)"
        elif avg_income < 40 and avg_spending < 40:
            user_type = "普通用户(赚少花少)"
        else:
            user_type = "标准用户(赚一般花一般)"
        
        print(f"  用户类型: {user_type}")

analyze_clusters(data, labels, centroids)

# 11. 完整流程
def user_segmentation_pipeline():
    """用户分群完整流程"""
    print("=" * 50)
    print("用户分群 - 完整流程")
    print("=" * 50)
    
    # 1. 数据准备
    print("\n1. 数据准备")
    print(f"   用户数量: {len(data)}")
    
    # 2. 特征选择
    print("\n2. 特征选择")
    X = data[['annual_income', 'spending_score']].values
    print(f"   特征: 年收入, 消费指数")
    
    # 3. 求解最优K值
    print("\n3. 求解最优K值")
    print("   SSE肘部法 → K=5")
    print("   SC轮廓系数 → K=5")
    print("   CH轮廓系数 → K=5")
    
    # 4. 聚类
    print("\n4. 聚类")
    kmeans = KMeans(n_clusters=5, random_state=42, n_init=10)
    labels = kmeans.fit_predict(X)
    
    # 5. 分析
    print("\n5. 分析用户群体")
    analyze_clusters(data, labels, kmeans.cluster_centers_)
    
    print("\n" + "=" * 50)
    print("用户分群完成!")
    print("=" * 50)

user_segmentation_pipeline()

输出示例:

=== 1. 模拟用户数据 ===
用户数量: 200
   customer_id  gender  age  annual_income  spending_score
0            1    Male   56             72               34
1            2  Female   69             87               78
...

=== 4. SSE + 肘部法 ===
K=1: SSE=269876.5432
K=2: SSE=152345.6789
K=3: SSE=78901.2345
K=4: SSE=45678.9012
K=5: SSE=23456.7890
K=6: SSE=21234.5678
...

=== 5. SC轮廓系数 ===
K=2: SC=0.4567
K=3: SC=0.5234
K=4: SC=0.5678
K=5: SC=0.5890
K=6: SC=0.5456
...
最佳K值: 5 (SC=0.5890)

=== 10. 分析用户群体 ===
簇0:
  用户数: 40
  平均年收入: 85.23
  平均消费指数: 78.45
  用户类型: 黄金用户(赚多花多)
...

5 重难点与易错提醒

  • ❗重点:散点图需要两列数据(X轴和Y轴)。
  • ❗重点:黄金用户是消费指数高、年收入高的客户。
  • ❗重点:综合三种指标选择最佳K值。
  • ❗重点:聚类无标签,分类有标签。
  • ⚠️易错:特征选择不当影响聚类效果。
  • ⚠️易错:只看一种指标选择K值。
  • 💡深入理解:用户分群是为了制定差异化营销方案。

6 课堂问答精选

Q: 如何求解最优K值?

A: 三种方法:

  1. SSE + 肘部法:找SSE下降变缓的K值
  2. SC轮廓系数:找SC最大值对应的K值
  3. CH轮廓系数:找CH最大值对应的K值

综合三种指标,选择大多数指向的K值。

Q: 什么是黄金用户?

A: 黄金用户是消费指数高、年收入高的客户:

  • 消费指数高:愿意消费
  • 年收入高:有消费能力

这类用户是商家的重点营销对象。

7 本课小结

  • 数据:用户ID、性别、年龄、年收入、消费指数。
  • 特征:年收入(X轴)+ 消费指数(Y轴)。
  • 最优K值:SSE肘部法、SC、CH综合判断。
  • 黄金用户:消费指数高、年收入高。
  • 目的:制定差异化营销方案。

8 延伸思考与实践

  • 实践:运行用户分群代码。
  • 预习:用户分群代码实现。
  • 思考:如何根据用户群体制定营销方案?
最近更新: 2026/6/23 17:18
Contributors: yangwenguang
Prev
SC、CH轮廓系数之代码演示
Next
用户分群之代码实现