上面的第三種樣子,是一元線性方程的矩陣表達,或者叫向量形式。從現在開始,就要逐步開始接受並習慣矩陣和向量,這是任何數據分析的基礎,也是所有機器學習和深度學習必須掌握的。拒絕掌握這個,數據分析將步履維艱,機器學習和深度學習將寸步難行。
OK,說了這麼多,但線性回歸有啥用呢?來看個例子,因為沒有實際數據(或不方便用實際數據),我們用自己造的數據來做例子,造數據的過程,也是十分有意思的,能把數據造得客觀合理,其實也是需要一點技術的哈O(∩_∩)O。上造數據的代碼了,還是以學生體育成績為樣本吧:
import pandas as pd
def XM(num=100): xing = ['趙', '錢', '孫', '李', '周', '吳', '鄭', '王', '馮', '陳', '褚', '衛', '蔣', '沈', '韓', '楊', '朱', '秦', '尤', '許', '何', '呂', '施', '張', '孔', '曹', '嚴', '華', '金', '魏', '陶', '姜', '戚', '謝', '鄒', '喻', '柏', '水', '竇', '章', '雲', '蘇', '潘', '葛', '奚', '範', '彭', '郎', '魯', '韋', '昌', '馬', '苗', '鳳', '花', '方', '俞', '任', '袁', '柳', '酆', '鮑', '史', '唐', '費', '廉', '岑', '薛', '雷', '賀', '倪', '湯', '滕', '殷', '羅', '畢', '郝', '鄔', '安', '常', '樂', '於', '時', '傅', '皮', '卞', '齊', '康', '伍', '餘', '元', '卜', '顧', '孟', '平', '黃', '和', '穆', '蕭', '尹', '姚', '邵', '堪', '汪', '祁', '毛', '禹', '狄', '米', '貝', '明', '臧', '計', '伏', '成', '戴', '談', '宋', '茅', '龐', '熊', '紀', '舒', '屈', '項', '祝', '董', '梁']
ming = ['的', '一', '是', '了', '我', '不', '人', '在', '他', '有', '這', '個', '上', '們', '來', '到', '時', '大', '地', '為', '子', '中', '你', '說', '生', '國', '年', '著', '就', '那', '和', '要', '她', '出', '也', '得', '裡', '後', '自', '以', '會', '家', '可', '下', '而', '過', '天', '去', '能', '對', '小', '多', '然', '於', '心', '學', '麼', '之', '都', '好', '看', '起', '發', '當', '沒', '成', '只', '如', '事', '把', '還', '用', '第', '樣', '道', '想', '作', '種', '開', '美', '總', '從', '無', '情', '己', '面', '最', '女', '但', '現', '前', '些', '所', '同', '日', '手', '又', '行', '意', '動', '方', '期', '它', '頭', '經', '長', '兒', '回', '位', '分', '愛', '老', '因', '很', '給', '名', '法', '間', '斯', '知', '世', '什', '兩', '次', '使', '身', '者', '被', '高', '已', '親', '其', '進', '此', '話', '常', '與', '活', '正', '感', '見', '明', '問', '力', '理', '爾', '點', '文', '幾', '定', '本', '公', '特', '做', '外', '孩', '相', '西', '果', '走', '將', '月', '十', '實', '向', '聲', '車', '全', '信', '重', '三', '機', '工', '物', '氣', '每', '並', '別', '真', '打', '太', '新', '比', '才', '便', '夫', '再', '書', '部', '水', '像', '眼', '等', '體', '卻', '加', '電', '主', '界', '門', '利', '海', '受', '聽', '表', '德', '少', '克', '代', '員', '許', '稜', '先', '口', '由', '死', '安', '寫', '性', '馬', '光', '白', '或', '住', '難', '望', '教', '命', '花', '結', '樂', '色', '更', '拉', '東', '神', '記', '處', '讓', '母', '父', '應', '直', '字', '場', '平', '報', '友', '關', '放', '至', '張', '認', '接', '告', '入', '笑', '內', '英', '軍', '候', '民', '歲', '往', '何', '度', '山', '覺', '路', '帶', '萬', '男', '邊', '風', '解', '叫', '任', '金', '快', '原', '吃', '媽', '變', '通', '師', '立', '象', '數', '四', '失', '滿', '戰', '遠', '格', '士', '音', '輕', '目', '條', '呢', '病', '始', '達', '深', '完', '今', '提', '求', '清', '王', '化', '空', '業', '思', '切', '怎', '非', '找', '片', '羅', '錢', '紶', '嗎', '語', '元', '喜', '曾', '離', '飛', '科', '言', '幹', '流', '歡', '約', '各', '即', '指', '合', '反', '題', '必', '該', '論', '交', '終', '林', '請', '醫', '晚', '制', '球', '決', '窢', '傳', '畫', '保', '讀', '運', '及', '則', '房', '早', '院', '量', '苦', '火', '布', '品', '近', '坐', '產', '答', '星', '精', '視', '五', '連', '司', '巴', '奇', '管', '類', '未', '朋', '且', '婚', '臺', '夜', '青', '北', '隊', '久', '乎', '越', '觀', '落', '盡', '形', '影', '紅', '爸', '百', '令', '周', '吧', '識', '步', '希', '亞', '術', '留', '市', '半', '熱', '送', '興', '造', '談', '容', '極', '隨', '演', '收', '首', '根', '講', '整', '式', '取', '照', '辦', '強', '石', '古', '華', '諣', '拿', '計', '您', '裝', '似', '足', '雙', '妻', '尼', '轉', '訴', '米', '稱', '麗', '客', '南', '領', '節', '衣', '站', '黑', '刻', '統', '斷', '福', '城', '故', '歷', '驚', '臉', '選', '包', '緊', '爭', '另', '建', '維', '絕', '樹', '系', '傷', '示', '願', '持', '千', '史', '誰', '準', '聯', '婦', '紀', '基', '買', '志', '靜', '阿', '詩', '獨', '復', '痛', '消', '社', '算', '義', '竟', '確', '酒', '需', '單', '治', '卡', '幸', '蘭', '念', '舉', '僅', '鍾', '怕', '共', '毛', '句', '息', '功', '官', '待', '究', '跟', '穿', '室', '易', '遊', '程', '號', '居', '考', '突', '皮', '哪', '費', '倒', '價', '圖', '具', '剛', '腦', '永', '歌', '響', '商', '禮', '細', '專', '黃', '塊', '腳', '味', '靈', '改', '據', '般', '破', '引', '食', '仍', '存', '眾', '注', '筆', '甚', '某', '沉', '血', '備', '習', '校', '默', '務', '土', '微', '娘', '須', '試', '懷', '料', '調', '廣', '蜖', '蘇', '顯', '賽', '查', '密', '議', '底', '列', '富', '夢', '錯', '座', '參', '八', '除', '跑', '亮', '假', '印', '設', '線', '溫', '雖', '掉', '京', '初', '養', '香', '停', '際', '致', '陽', '紙', '李', '納', '驗', '助', '激', '夠', '嚴', '證', '帝', '飯', '忘', '趣', '支', '春', '集', '丈', '木', '研', '班', '普', '導', '頓', '睡', '展', '跳', '獲', '藝', '六', '波', '察', '群', '皇', '段', '急', '庭', '創', '區', '奧', '器', '謝', '弟', '店', '否', '害', '草', '排', '背', '止', '組', '州', '朝', '封', '睛', '板', '角', '況', '曲', '館', '育', '忙', '質', '河', '續', '哥', '呼', '若', '推', '境', '遇', '雨', '標', '姐', '充', '圍', '案', '倫', '護', '冷', '警', '貝', '著', '雪', '索', '劇', '啊', '船', '險', '煙', '依', '鬥', '值', '幫', '漢', '慢', '佛', '肯', '聞', '唱', '沙', '局', '伯', '族', '低', '玩', '資', '屋', '擊', '速', '顧', '淚', '洲', '團', '聖', '旁', '堂', '兵', '七', '露', '園', '牛', '哭', '旅', '街', '勞', '型', '烈', '姑', '陳', '莫', '魚', '異', '抱', '寶', '權', '魯', '簡', '態', '級', '票', '怪', '尋', '殺', '律', '勝', '份', '汽', '右', '洋', '範', '床', '舞', '秘', '午', '登', '樓', '貴', '吸', '責', '例', '追', '較', '職', '屬', '漸', '左', '錄', '絲', '牙', '黨', '繼', '託', '趕', '章', '智', '衝', '葉', '胡', '吉', '賣', '堅', '喝', '肉', '遺', '救', '修', '松', '臨', '藏', '擔', '戲', '善', '衛', '藥', '悲', '敢', '靠', '伊', '村', '戴', '詞', '森', '耳', '差', '短', '祖', '雲', '規', '窗', '散', '迷', '油', '舊', '適', '鄉', '架', '恩', '投', '彈', '鐵', '博', '雷', '府', '壓', '超', '負', '勒', '雜', '醒', '洗', '採', '毫', '嘴', '畢', '九', '冰', '既', '狀', '亂', '景', '席', '珍', '童', '頂', '派', '素', '脫', '農', '疑', '練', '野', '按', '犯', '拍', '徵', '壞', '骨', '餘', '承', '置', '臓', '彩', '燈', '巨', '琴', '免', '環', '姆', '暗', '換', '技', '翻', '束', '增', '忍', '餐', '洛', '塞', '缺', '憶', '判', '歐', '層', '付', '陣', '瑪', '批', '島', '項', '狗', '休', '懂', '武', '革', '良', '惡', '戀', '委', '擁', '娜', '妙', '探', '呀', '營', '退', '搖', '弄', '桌', '熟', '諾', '宣', '銀', '勢', '獎', '宮', '忽', '套', '康', '供', '優', '課', '鳥', '喊', '降', '夏', '困', '劉', '罪', '亡', '鞋', '健', '模', '敗', '伴', '守', '揮', '鮮', '財', '孤', '槍', '禁', '恐', '夥', '傑', '跡', '妹', '藸', '遍', '蓋', '副', '坦', '牌', '江', '順', '秋', '薩', '菜', '劃', '授', '歸', '浪', '聽', '凡', '預', '奶', '雄', '升', '碃', '編', '典', '袋', '萊', '含', '盛', '濟', '蒙', '棋', '端', '腿', '招', '釋', '介', '燒', '誤', '乾', '坤'] name_group = [] for i in range(num): x = np.random.randint(0, len(xing)-1) m1 = np.random.randint(0, len(ming)-1) m2 = np.random.randint(0, len(ming)-1) name = ('' + xing[x] + ming[m1] + ming[m2]) item = {'姓名': name} name_group.append(item) return name_groupname_group = XM(num=100)name_df = pd.DataFrame(name_group)name_df.to_csv('姓名.csv', encoding='utf-8-sig')讀取上面的人名文件,下面就開始造數據,注意造數據的方法,用到了回歸方程和矩陣點乘。乘法有好多種,我們一般理解的乘法是叉乘(就是這個×),但矩陣運算裡面,點乘更常用(就是這個 · ),這兩種乘法是有區別的哈,具體區別,篇幅有點長,看官自行百度一下。(深刻理解點乘,能讓你迅速成為合格的數據分析師)
身高、體重、BMI值、100米跑步成績、1000米跑步成績,有點像實際數據吧(●'◡'●),下面開始分析一下,身高、體重、bmi和100m、1000m之間的關係。
但這種圖,我是畫不出來的,只能根據數值去腦補了。在單獨因子並不能很好的說明問題的時候,有時候組合因子,是可以對模型效果做出提升的。現實世界中通常都會出現這種疊加增益情況。