主頁 >  其他 > Python大資料-電商產品評論情感資料分析

Python大資料-電商產品評論情感資料分析

2022-01-20 11:16:05 其他

目錄

一、專案背景

二、專案目標

三、分析方法與分析程序

四、資料清洗

資料抓取

評論去重

分詞

停用詞

詞云圖繪制

五、 資料分析

評論資料情感傾向分析

匹配情感詞

修正情感傾向

LDA模型進行主題分析

尋找最優主題數

評價主題分析結果

六、 結論分析


一、專案背景

  • 網上購物已經成為大眾生活的重要組成部分,人們在電商平臺上瀏覽商品并購物,產生了海量的用戶行為資料,用戶對商品的評論資料對商家具有重要的意義,利用好這些碎片化、非結構化的資料,將有利于企業在電商平臺上的持續發展,同時,對這部分資料進行分析,依據評論資料來優化現有產品也是大資料在企業經營中的實際應用,
  • 分析產品:韶音 AfterShokz Aeropex AS800骨傳導藍牙耳機運動無線耳骨傳導耳機跑步騎行 環法特別版(Aeropex AS800是AfterShokz韶音的網紅新品,很多國內外的跑者都在使用,在Instagram上也有很高的熱度,)
  • 分析平臺:京東
  • 資料獲取量:由于京東對評論的設定只顯示前100頁資料,抓取前100頁最新評論資料和差評資料作為分析物件
  • 使用的主要工具:python --jupyter notebook、阿里云資料庫、Navicat Premium(My SQL)

二、專案目標

  • 隨著當今時代電子資訊技術的飛速發展,網購已經普及千家萬戶,給電商行業的發展帶來了巨大的機遇,與此同時,這種需求也推動了更多電商企業的崛起,引發了激烈的競爭,而在這種激烈競爭的大背景下,除了提高商品質量、壓低價格外,了解更多消費者的心聲對電商企業來說也變得越來越有必要,其中,一種非常重要的方式就是對消費者的評論文本資料進行內在資訊的分析,
  • 評論資訊中蘊含著消費者對特點給產品的主管感受,反應了人們的態度、立場和意見,具有非常寶貴的研究價值,對企業來說分析評論資料可以更好的了解客戶的喜好,從而針對性的提高服務和產品質量,增加自身的競爭力,對于用戶自身來講可以為購物抉擇提供更多的參考依據,本次分析主要想實作以下目標:
    • 對京東商城中韶音 AfterShokz Aeropex AS800骨傳導藍牙耳機的評論進行情感分析
    • 從評論文本中挖掘用戶的需求、意見、購買原因及產品的優缺點等資訊
    • 根據模型結果給出產品改善的建議

三、分析方法與分析程序

  • 主要分析步驟如下:
    • 使用python對韶音 AfterShokz Aeropex AS800骨傳導藍牙耳機在京東商城中的評論資訊進行爬取
    • 使用python對爬取到的資料進行資料清洗、資料分詞、停用詞過濾的資料清洗作業
    • 對處理后的資料進行情感分析,把評論文本根據情感傾向分為正面評論資料(好評)和反面評論資料(差評)
    • 對正、負評論資料進行LDA主題分析,提取其中有價值的內容
    • ?

四、資料清洗

資料抓取

本文主要目標是對資料進行分析,資料抓取具有時效性,在這里對抓取的方法不進行贅述,有不懂的可以看Python爬蟲-抓取資料到可視化全流程的實作

評論去重

從資料庫中取出資料,可以看到共有1260條評論資料,分為8列

#導包
import pandas as pd 
import numpy as np
import pymysql
import matplotlib.pyplot as plt
import re
import jieba.posseg as psg
db_info={
    'host':"***",
    'user':"***",
    'passwd':'***',
    'database':'cx',# 這里說明我要連接哪個庫
    'charset':'utf8'
}
conn = pymysql.connect(**db_info)
cursor = conn.cursor()
sql = 'select * from jdsppl'
result = pd.read_sql(sql,conn)
result
result.shape

部分電商平臺對長時間未完成訂單評價的客戶會進行默認評價,此類資料沒有分析價值,但是本次爬取的資料來自于京東,京東默認只保留前100頁的評論資料,其他資料歸為幫助不大的資料,因此在此次爬取的資料中,不存在這樣的情況,同時如果在某個商品的評論中出現了完全相同的評論,一次兩次或者多次,那么這種情況下的資料肯定是毫無意義的問題資料,這種評論資料只認為其第一條即首次出現時認為其存在一定價值,在評論中會出現一部分評論相似程度很高,但并不完全相同,個別詞語還存在明顯差異,對于這種情況,全部洗掉是不正確和不合適的,可以只洗掉重復的部分,保留有用的文本評論資訊,留下更多有用的語料,

reviews = reviews[['content', 'content_type']].drop_duplicates()
content = reviews['content']
reviews

可以看到有17條重復資料已經被洗掉

通過人工觀察資料發現,評論中夾雜著許多數字與字母,對于本案例的挖掘目標而言,這類資料本身并沒有實質性幫助,另外,由于該評論文本資料主要是圍繞京東商城中韶音 AfterShokz Aeropex AS800骨傳導藍牙耳機進行評價的,其中“京東”“京東商城”“韶音”“耳機”“藍牙耳機”等詞出現的頻數很大,但是對分析目標并沒有什么作用,因此可以在分詞之前將這些詞去除,對資料進行清洗

# 去除去除英文、數字等
# 由于評論中不重要詞語
strinfo = re.compile('[0-9a-zA-Z]|京東|京東商城|韶音|耳機|藍牙耳機|')
content=result['評價內容']
content = content.apply(lambda x: strinfo.sub('', x))
content

欄位已經去除

分詞

  • 分詞是文本資訊處理的基礎環節,是將一個單詞序列切分成單個單詞的程序,漢語的基本單位是字,由字可以組成詞,由詞可以組成句子,進而由一些句子組成段、節、章、篇,可見,如果需要處理一篇中文語料,從中正確地識別出詞是一件非常基礎且重要的作業,然而,中文以字為基本書寫單位,詞與詞之間沒有明顯的區分標記,
  • 當使用基于詞典的中文分詞方法進行中文資訊處理時,不得不考慮未登錄詞的處理,未登錄詞是指詞典中沒有登錄過的人名、地名、機構名、譯名及新詞語等,當采用匹配的辦法來切分詞語時,由于詞典中沒有登錄這些詞,會引起自動切分詞語的困難,常見的未登陸詞有命名物體,如“張三”“北京”“聯想集團”“酒井法子”等;專業術語,如“貝葉斯演算法”“模態”“萬維網”;新詞語,如“卡拉 OK”“美刀”“啃老族”等,另外,中文分詞還存在切分歧義問題,如“當結合成分子時”這個句子可以有以下切分方法:“當/結合/成分/子時”“當/結合/成/分子/時”“當/結/合成/分子/時”“當/結/合成分/子時”等,可以說,中文分詞的關鍵問題為切分歧義的消解和未登錄詞的識別分詞最常用的作業包是jieba分詞包,jieba分詞是Python寫成的一個分詞開源庫,專門用于中文分詞,

停用詞

  • 停用詞( Stop Words),詞典譯為“電腦檢索中的虛字、非檢索用字”,在SEO搜索引擎中,為節省存盤空間和提高搜索效率,搜索引擎在索引頁面或處理搜索請求時會自動忽略某些字或詞,這些字或詞即被稱為停用詞,通常來講,停用詞大體可以分為兩類,一種是使用過于廣泛和頻繁的詞語,比如英文的i、is,中文的“我”“你”等等,另一種是出現頻率很高,但是意義不大的詞,這種單詞一般包括語氣助詞、副詞、介詞、連詞等等,自身本身并無意義,在經過分詞后,評論由一個字串的形式轉換成了多個由文字或詞語組成的字串形式,用來判斷評論中的詞語是否是停用詞,
  • # 分詞
    worker = lambda s: [(x.word, x.flag) for x in psg.cut(s)] # 自定義簡單分詞函式
    seg_word = content.apply(worker) 
    
    # 將詞語轉為資料框形式,一列是詞,一列是詞語所在的句子ID,最后一列是詞語在該句子的位置
    n_word = seg_word.apply(lambda x: len(x))  # 每一評論中詞的個數
    
    n_content = [[x+1]*y for x,y in zip(list(seg_word.index), list(n_word))]
    index_content = sum(n_content, [])  # 將嵌套的串列展開,作為詞所在評論的id
    
    seg_word = sum(seg_word, [])
    word = [x[0] for x in seg_word]  # 詞
    
    nature = [x[1] for x in seg_word]  # 詞性
    
    content_type = [[x]*y for x,y in zip(list(reviews['content_type']), list(n_word))]
    content_type = sum(content_type, [])  # 評論型別
    
    result = pd.DataFrame({"index_content":index_content, 
                           "word":word,
                           "nature":nature,
                           "content_type":content_type}) 
    
    # 洗掉標點符號
    result = result[result['nature'] != 'x']  # x表示標點符號
    
    # 洗掉停用詞
    stop_path = open("../data/stoplist.txt", 'r',encoding='UTF-8')
    stop = stop_path.readlines()
    stop = [x.replace('\n', '') for x in stop]
    word = list(set(word) - set(stop))
    result = result[result['word'].isin(word)]
    
    # 構造各詞在對應評論的位置列
    n_word = list(result.groupby(by = ['index_content'])['index_content'].count())
    index_word = [list(np.arange(0, y)) for y in n_word]
    index_word = sum(index_word, [])  # 表示詞語在改評論的位置
    
    # 合并評論id,評論中詞的id,詞,詞性,評論型別
    result['index_word'] = index_word
    result

    處理后表格樣式

?

提取含有名詞的評論

  • 由于本次分析的目標是對產品特征的優缺點進行分析,類似“不錯,很好的產品”“很不錯,繼續支持”等評論雖然表達了對產品的情感傾向,但是實際上無法根據這些評論提取出哪些產品特征是用戶滿意的,評論中只有出現明確的名詞,如機構團體及其他專有名詞時,才有意義,因此需要對分詞后的詞語進行詞性標注,之后再根據詞性將含有名詞類的評論提取出來,jieba關于詞典詞性標記,采用ICTCLAS 的標記方法,對于詞性標注大家可以看:ICTCLAS漢語詞性標注集

提取評論中詞性含有“n”(名詞)的評論,

# 提取含有名詞類的評論
ind = result[['n' in x for x in result['nature']]]['index_content'].unique()
result = result[[x in ind for x in result['index_content']]]

詞云圖繪制

進行資料預處理后,可繪制詞云查看分詞效果,詞云會將文本中出現頻率較高的“關鍵詞”予以視覺上的突出,首先需要對詞語進行詞頻統計,將詞頻按照降序排序,選擇前100個詞,使用wordcloud模塊中的WordCloud繪制詞云,查看分詞效果(常用字體代碼)

import matplotlib.pyplot as plt
from wordcloud import WordCloud

frequencies = result.groupby(by = ['word'])['word'].count()
frequencies = frequencies.sort_values(ascending = False)
backgroud_Image=plt.imread('../data/pl.jpg')
wordcloud = WordCloud(font_path="simkai.ttf",
                      max_words=100,
                      background_color='white',
                      mask=backgroud_Image)
my_wordcloud = wordcloud.fit_words(frequencies)
plt.imshow(my_wordcloud)
plt.axis('off') 
plt.show()

?從生成的詞云圖中可以初步判斷用戶比較在意的是音質、質感、續航、舒適度等關鍵詞

五、 資料分析

評論資料情感傾向分析

匹配情感詞

  • 情感傾向也稱為情感極性,在某商品評論中,可以理解為用戶對該商品表達自身觀點所持的態度是支持、反對還是中立,即通常所指的正面情感、負面情感、中性情感,對評論情感傾向進行分析首先要對情感詞進行匹配,使用知網發布的“情感分析用詞語集 ( beta版)"中的“中文正面評價”詞表、“中文負面評價”“中文正面情感”“中文負面情感”詞表等,將“中文正面評價”“中文正面情感”兩個詞表合并,并給每個詞語賦予初始權重1,作為正面評論情感詞表,將“中文負面評價”“中文負面情感”兩個詞表合并,并給每個詞語賦予初始權重-1,作為負面評論情感詞表,
  • 讀入正負面評論情感詞表,正面詞語賦予初始權重1,負面詞語賦予初始權重-1,使用merge函式按照詞語情感詞表與分詞結果進行匹配,
import pandas as pd
import numpy as np
word = pd.read_csv("../tmp/result.csv")

# 讀入正面、負面情感評價詞
pos_comment = pd.read_csv("../data/正面評價詞語(中文).txt", header=None,sep="\n", 
                          encoding = 'utf-8', engine='python')
neg_comment = pd.read_csv("../data/負面評價詞語(中文).txt", header=None,sep="\n", 
                          encoding = 'utf-8', engine='python')
pos_emotion = pd.read_csv("../data/正面情感詞語(中文).txt", header=None,sep="\n", 
                          encoding = 'utf-8', engine='python')
neg_emotion = pd.read_csv("../data/負面情感詞語(中文).txt", header=None,sep="\n", 
                          encoding = 'utf-8', engine='python') 

# 合并情感詞與評價詞
positive = set(pos_comment.iloc[:,0])|set(pos_emotion.iloc[:,0])
negative = set(neg_comment.iloc[:,0])|set(neg_emotion.iloc[:,0])
intersection = positive&negative  # 正負面情感詞表中相同的詞語
positive = list(positive - intersection)
negative = list(negative - intersection)
positive = pd.DataFrame({"word":positive,
                         "weight":[1]*len(positive)})
negative = pd.DataFrame({"word":negative,
                         "weight":[-1]*len(negative)}) 

posneg = positive.append(negative)

#  將分詞結果與正負面情感詞表合并,定位情感詞
data_posneg = posneg.merge(word, left_on = 'word', right_on = 'word', 
                           how = 'right')
data_posneg = data_posneg.sort_values(by = ['index_content','index_word'])

修正情感傾向

  • 情感傾向修正主要根據情感詞前面兩個位置的詞語是否存在否定詞而去判斷情感值的正確與否,由于漢語中存在多重否定現象,即當否定詞出現奇數次時,表示否定意思;當否定詞出現偶數次時,表示肯定意思,按照漢語習慣,搜索每個情感詞前兩個詞語,若出現奇數否定詞,則調整為相反的情感極性,
# 根據情感詞前時候有否定詞或雙層否定詞對情感值進行修正
# 載入否定詞表
notdict = pd.read_csv("../data/not.csv")

# 處理否定修飾詞
data_posneg['amend_weight'] = data_posneg['weight']  # 構造新列,作為經過否定詞修正后的情感值
data_posneg['id'] = np.arange(0, len(data_posneg))
only_inclination = data_posneg.dropna()  # 只保留有情感值的詞語
only_inclination.index = np.arange(0, len(only_inclination))
index = only_inclination['id']

for i in np.arange(0, len(only_inclination)):
    review = data_posneg[data_posneg['index_content'] == 
                         only_inclination['index_content'][i]]  # 提取第i個情感詞所在的評論
            
# 更新只保留情感值的資料
only_inclination = only_inclination.dropna()

# 計算每條評論的情感值
emotional_value = only_inclination.groupby(['index_content'],
                                           as_index=False)['amend_weight'].sum()

# 去除情感值為0的評論
emotional_value = emotional_value[emotional_value['amend_weight'] != 0]

使用wordcloud包下的 WordCloud 函式分別對正面評論和負面評論繪制詞云,以查看情感分析效果,

# 給情感值大于0的賦予評論型別(content_type)為pos,小于0的為neg
emotional_value['a_type'] = ''
emotional_value['a_type'][emotional_value['amend_weight'] > 0] = 'pos'
emotional_value['a_type'][emotional_value['amend_weight'] < 0] = 'neg'

# 查看情感分析結果
result = emotional_value.merge(word, 
                               left_on = 'index_content', 
                               right_on = 'index_content',
                               how = 'left')

result = result[['index_content','content_type', 'a_type']].drop_duplicates() 
confusion_matrix = pd.crosstab(result['content_type'], result['a_type'], 
                               margins=True)  # 制作交叉表
(confusion_matrix.iat[0,0] + confusion_matrix.iat[1,1])/confusion_matrix.iat[2,2]

# 提取正負面評論資訊
ind_pos = list(emotional_value[emotional_value['a_type'] == 'pos']['index_content'])
ind_neg = list(emotional_value[emotional_value['a_type'] == 'neg']['index_content'])
posdata = word[[i in ind_pos for i in word['index_content']]]
negdata = word[[i in ind_neg for i in word['index_content']]]

# 繪制詞云
import matplotlib.pyplot as plt
from wordcloud import WordCloud
# 正面情感詞詞云
freq_pos = posdata.groupby(by = ['word'])['word'].count()
freq_pos = freq_pos.sort_values(ascending = False)
backgroud_Image=plt.imread('../data/pl.jpg')
wordcloud = WordCloud(font_path="simkai.ttf",
                      max_words=100,
                      background_color='white',
                      mask=backgroud_Image)
pos_wordcloud = wordcloud.fit_words(freq_pos)
plt.imshow(pos_wordcloud)
plt.axis('off') 
plt.show()
# 負面情感詞詞云
freq_neg = negdata.groupby(by = ['word'])['word'].count()
freq_neg = freq_neg.sort_values(ascending = False)
neg_wordcloud = wordcloud.fit_words(freq_neg)
plt.imshow(neg_wordcloud)
plt.axis('off') 
plt.show()

# 將結果寫出,每條評論作為一行
posdata.to_csv("../tmp/posdata.csv", index = False, encoding = 'utf-8')
negdata.to_csv("../tmp/negdata.csv", index = False, encoding = 'utf-8')

可以看到在正面情感評論詞云圖中可以發現:“不錯”、“喜歡”、“滿意”、“舒服”等詞出現的詞頻較高,且沒有出現負面情感的詞語,從負面情感評論中可以發現:“做工”、“客服”、“差”等出現詞頻較高,沒有發現摻雜正面情感的詞語,由此可以正面通過詞表來分析文本的情感程度是有效的,

LDA模型進行主題分析

  • 主題模型在自然語言處理等領域是用來在一系列檔案中發現抽象主題的一種統計模型,判斷兩個檔案相似性的傳統方法是通過查看兩個檔案共同出現的單詞的多少,如TF(詞頻)、TF-IDF(詞頻—逆向檔案頻率)等,這種方法沒有考慮文字背后的語意關聯,例如,兩個檔案共同出現的單詞很少甚至沒有,但兩個檔案是相似的,因此在判斷檔案相似性時,需要使用主題模型進行語意分析并判斷檔案相似性,如果一篇檔案有多個主題,則一些特定的可代表不同主題的詞語就會反復出現,此時,運用主題模型,能夠發現文本中使用詞語的規律,并且把規律相似的文本聯系到一起,以尋求非結構化的文本集中的有用資訊,
  • LDA主題模型:潛在狄利克雷分配,即LDA模型(Latent Dirichlet Allocation,LDA)是由Blei等人于2003年提出的生成式主題模型生成模型,即認為每一篇檔案的每一個詞都是通過“一定的概率選擇了某個主題,并從這個主題中以一定的概率選擇了某個詞語”,LDA模型也被稱為3層貝葉斯概率模型,包含檔案(d)、主題(z)、詞(w)3層結構,能夠有效對文本進行建模,和傳統的空間向量模型(VSM)相比,增加了概率的資訊,通過LDA主題模型,能夠挖掘資料集中的潛在主題,進而分析資料集的集中關注點及其相關特征詞,
  • LDA主題模型是一種無監督的模式,只需要提供訓練檔案,就可以自動訓練出各種概率,無須任何人工標注程序,節省了大量的人力及時間,它在文本聚類、主題分析、相似度計算等方面都有廣泛的應用,相對于其他主題模型,其引人了狄利克雷先驗知識,因此,模型的泛化能力較強,不易出現過擬合現象,建立LDA主題模型,首先要建立詞典及語料庫
import pandas as pd
import numpy as np
import re
import itertools
import matplotlib.pyplot as plt

# 載入情感分析后的資料
posdata = pd.read_csv("../data/posdata.csv", encoding = 'utf-8')
negdata = pd.read_csv("../data/negdata.csv", encoding = 'utf-8')
from gensim import corpora, models
# 建立詞典
pos_dict = corpora.Dictionary([[i] for i in posdata['word']])  # 正面
neg_dict = corpora.Dictionary([[i] for i in negdata['word']])  # 負面

# 建立語料庫
pos_corpus = [pos_dict.doc2bow(j) for j in [[i] for i in posdata['word']]]  # 正面
neg_corpus = [neg_dict.doc2bow(j) for j in [[i] for i in negdata['word']]]   # 負面

尋找最優主題數

  • 基于相似度的自適應最優LDA模型選擇方法,確定主題數并進行主題分析,實驗證明該方法可以在不需要人工除錯主題數目的情況下,用相對少的迭代找到最優的主題結構,具體步驟如下:
  • 1)取初始主題數k值,得到初始模型,計算各主題之間的相似度(平均余弦距離),
  • 2)增加或減少k值,重新訓練模型,再次計算各主題之間的相似度,
  • 3 )重復步驟2直到得到最優k值,
  • 利用各主題間的余弦相似度來度量主題間的相似程度,從詞頻入手,計算它們的相似度,用詞越相似,則內容越相近,
  •  構造主題數尋優函式
    def cos(vector1, vector2):  # 余弦相似度函式
        dot_product = 0.0;  
        normA = 0.0;  
        normB = 0.0;  
        for a,b in zip(vector1, vector2): 
            dot_product += a*b  
            normA += a**2  
            normB += b**2  
        if normA == 0.0 or normB==0.0:  
            return(None)  
        else:  
            return(dot_product / ((normA*normB)**0.5))   
    
                
    # 計算主題平均余弦相似度
    pos_k = lda_k(pos_corpus, pos_dict)
    neg_k = lda_k(neg_corpus, neg_dict)        
    
    # 繪制主題平均余弦相似度圖形
    from matplotlib.font_manager import FontProperties  
    font = FontProperties(size=14)
    #解決中文顯示問題
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus'] = False  
    fig = plt.figure(figsize=(10,8))
    ax1 = fig.add_subplot(211)
    ax1.plot(pos_k)
    ax1.set_xlabel('正面評論LDA主題數尋優', fontproperties=font)
    
    ax2 = fig.add_subplot(212)
    ax2.plot(neg_k)
    ax2.set_xlabel('負面評論LDA主題數尋優', fontproperties=font)

    從圖中可以發現,當主題數為2時,主題間的余弦相似度達到最低,因此選擇主題數為2

評價主題分析結果

根據主題數尋優結果,使用Python的Gensim模塊對正面評論資料和負面評論資料分別構建LDA主題模型,選取主題數為2,經過LDA主題分析后,每個主題下生成10個最有可能出現的詞語及相應的概率

# LDA主題分析
pos_lda = models.LdaModel(pos_corpus, num_topics = 2, id2word = pos_dict)  
neg_lda = models.LdaModel(neg_corpus, num_topics = 2, id2word = neg_dict)  
pos_lda.print_topics(num_words = 10)
neg_lda.print_topics(num_words = 10)

整理:

正面評價潛在主題:

1212
音質耳朵感覺傳到
喜歡不錯運動
做工質感舒適度音效
滿意舒服續航
耳朵跑步很快值得

負面評價潛在主題:

1212
客服耳朵幾天
傳導贈品
音質快遞理解做工
不好產品
聲音回來

六、 結論分析

  • 綜合以上對主題及其中的高頻特征詞的分析得出,韶音 AfterShokz Aeropex AS800的優點主要集中為兩類,第一耳機自身的質量和舒適度產品本身的性能訪方面,第二也就是產品的定位即功能性,韶音 AfterShokz Aeropex AS800主打的就是運動耳機,從用戶的評價情感詞上來看韶音 AfterShokz Aeropex AS800的宣傳是很到位的,相對而言,用戶對韶音 AfterShokz Aeropex AS800的抱怨點主要在售后服務差及贈品質量不高物流速度等方面,
  • 因此,用戶的購買原因可以總結為以下幾個方面:產品定位明確、性能可靠、性價比高
  • 根據對京東平臺上韶音 AfterShokz Aeropex AS800耳機用戶評價情況進行LDA主題模型分析,對美的品牌提出以下兩點建議:
  • 1、在保持主產品質量和性能的基礎上,對贈品和音質等方面進一步加強;
  • 2、繼續保持產品定位明確的優點,固定客戶群體;
  • 3、提升客服人員的整體素質,提高服務質量,注重售后服務,建立售后服務的明文細則,做好產品的全程序服務,增加產品的核心競爭力,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/416158.html

標籤:AI

上一篇:動手學深度學習——自動求導|CSDN創作打卡

下一篇:【機器學習】梯度下降與正規方程(附例題代碼)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more